python中sorted()函数解析

这篇具有很好参考价值的文章主要介绍了python中sorted()函数解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

sorted() 函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

语法

sorted 语法:

sorted(iterable, key=None, reverse=False)

参数说明:

  • iterable -- 可迭代对象。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回值

返回重新排序的列表。

解析:

>>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})#按键排序
[1, 2, 3, 4, 5]
>>> sorted(('981276345'))
['1', '2', '3', '4', '5', '6', '7', '8', '9']

排序字典好像只返回键的排列列表,不过影响不大,排序字符串返回每个字符的列表,也没什么。这样看来只有在拍序列表时才不会改变。

b = {1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}#按值排序
a=sorted(b, key=lambda x:b[x])
print(a)
结果:[5, 2, 3, 1, 4]

字典本身没有顺序概念,所有返回键的排序list

foo=[('zs',19),(['ll',54]),('wa',17),('df',23)]
a=sorted(foo,key=lambda x:x[1])
print(a)
结果:[('wa', 17), ('zs', 19), ('df', 23), ['ll', 54]]

发现:如上,lambda是一个匿名参数返回迭代对象的下标为1的值,我们可以这样认为sorted将迭代对象每个可迭代对象依次传入lambda,根据lambda的返回再进行排序。

如果改变x的正负值:

foo=[('zs',19),(['ll',54]),('wa',17),('df',23)]
a=sorted(foo,key=lambda x:-x[1])
print(a)
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
结果:[['ll', 54], ('df', 23), ('zs', 19), ('wa', 17)]

降序排列文章来源地址https://www.toymoban.com/news/detail-777018.html

到了这里,关于python中sorted()函数解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 列表 sort()函数使用详解

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 sort() 可以对列表进行 「排序」 语法 参数 key :(可选)指定排序规则 reverse :(可选)升序降序 返回值 返回

    2024年02月13日
    浏览(29)
  • Python基础之sorted()函数用法

    本篇是关于sorted()函数的一些基本用法,如有不足缺陷欢迎补充指正。 1、简单的排序 sorted函数可以对可迭代类型的容器内的数据进行排序 2、进阶使用 sorted(L,key=···) 其中key用来接收一个自定义的排序规则 3、选择升序还是降序排列方式 其中sorted函数是默认升序排序,

    2024年02月11日
    浏览(35)
  • Python 函数 sort(),sorted() 之区别及 key=lambda x:x[] 之理解

            实务中,我们经常需要将数据排序,Python 内置函数 sorted() 及列表操作函数 sort() 均可实现该功能。         二者的完整语法如下: key:排序依据,通常为函数名,如 abs、str.lower、str.upper 等;或以函数指定可迭代对象中的某个元素来进行排序。 reverse:排序规

    2024年02月03日
    浏览(31)
  • Python 基础 - 迭代器 / 迭代器对象 / 可迭代对象 / range函数

    目录 1. 迭代器 2.迭代器对象 3. 可迭代对象 4. range函数 1. 迭代器 当类中定义了__iter__和 __next__两个方法 __iter__: 返回对象本身,即self __next__: 返回下一个数据,如果没有数据,则抛出StopIteration异常 2.迭代器对象 通过迭代器类实例化创建的迭代器对象 可以通过 obj.__next__() 或

    2023年04月27日
    浏览(28)
  • python中函数,装饰器,迭代器,生成器

    1.函数可以作为参数进行传递 2.函数可以作为返回值进行返回 3.函数名称可以当成变量一样进行赋值操作 作用:在不改变原有函数调用的情况下,给函数增加新的功能          即可以在函数前面增加新的功能,但不改变原来的代码 可迭代的数据类型都会提供迭代器,即可以

    2024年02月07日
    浏览(35)
  • Python——迭代器(可迭代、可迭代对象、迭代器、遍历本质、iter函数、next函数、__iter__方法、__next__方法、自定义可迭代对象与自定义迭代器、for循环本质)

    迭代(iter) 我们经常听说过\\\"版本迭代\\\"这个词,意思是在原来版本的基础上,再提升一个版本的过程。那么我们仅仅看看\\\"迭代\\\"这个词,会发现迭代就是一个根据原来的状态决定本次状态的过程 迭代应用于Python中,迭代具体是指根据原来的数据输出(并不一定是要打印,也可

    2024年02月04日
    浏览(40)
  • 【Python PEP 笔记】201 - 同步迭代 / zip() 函数的使用方法

    原文地址:https://peps.python.org/pep-0201/ PDF 地址: 同步迭代就是用 for 一次循环多个序列。 类似于这样的东西: 使用 map 实现 原文为 Python 2,实现如下: Python 3 map 函数的第一个参数不能为 None 了。 使用新函数 zip 实现 使用 map 不方便,最明显的一点就是每次都要自己写一个

    2024年02月11日
    浏览(36)
  • 【python基础语法六】迭代器,生成器,推导式和高阶函数

    内置函数: dir 获取当前对象的内置成员 高阶函数 : 能够把函数当成参数传递的就是高阶函数 (map ,filter ,reduce , sorted) 案例: 1. enumerate 2. zip 元组推导式是生成器( generator ) (1) 基本语法 (2) 优化生成器代码 (3) send 的使用方式 (给上一个 yield 发送数据) (4) yield from 的使用 (5) 案例

    2024年02月02日
    浏览(38)
  • ## 解析Arrays.sort()方法 排序问题

    首先,Arrays.sort() 需要传入两个参数。 第一个参数是需要排序的数组,但是该数组不能是基本数据类型,必须是引用数据类型。 第二个参数是一个接口,所以我们在调用方式的时候,需要传递这个接口的实现类对象,这个实现类可以用匿名内部类的方式实现。 底层原理分析

    2024年02月03日
    浏览(40)
  • C++ Sort函数详解

    C++ Sort函数详解 前言 :sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使用 stable_sort 函数,这里不过多介绍。 一、sort函数调用的两种方式 方式一(默认) void sort (

    2024年02月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包