一、sorted与.sort函数

sorted 语法:

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

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

example_list = [5, 0, 6, 1, 2, 7, 3, 4]
print(sorted(example_list, reverse=True))
#
#[7, 6, 5, 4, 3, 2, 1, 0]

.sort语法

list.sort(cmp=None, key=None, reverse=False)

参数说明
cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
实例

def takeFirst(elem):#返回elem的第一个元素return elem[0]
list= [(1, 2), (3, 4), (5, 6), (7, 8)]list.sort(key=takeFirst,reverse=True)
#以当前列表list的第一个元素为关键字排序且定义从大到小
print(list)#结果
#[(7, 8), (5, 6), (3, 4), (1, 2)]

.sort 与 sorted 区别:
list.sort() 方法只是为列表定义的,而 sorted() 函数可以接受任何可迭代对象。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作(即需要容器来接受)。如果你不需要原列表,.sort会更有效率。

二、sorted对字典的key或value进行排序

要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法,如下:

dict = {"a":30,"b":25,"c":20}#字典
print(sorted(dict.items(),key=lambda x:x[1]))#结果
[('c', 20), ('b', 25), ('a', 30)]

又或:

#以字典为元素的列表
list= [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}]
print(sorted(list,key=lambda x:x["age"]))#结果
#[{'age': 10, 'name': 'c'}, {'age': 20, 'name': 'a'}, {'age': 25, 'name': 'b'}]

这里的list.items()实际上是将list转换为可迭代对象,迭代对象的元素为 (a,20),(b,25),(c,30),items()方法将字典的元素 转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。lambda x:y中x表示输出参数,y表示lambda 函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。而第二种方法是采用直接对list采用关键字key限定为列表元素的——字典的键值为参照来进行排序,输出结果仍是列表。

sorted与.sort函数及sorted对字典或列表进行排序相关推荐

  1. sort函数和sorted函数的异同

    sort函数和sorted函数都是python内置的排序函数.那为什么会有2个排序函数呢? 总结一下,虽然都是内置的排序功能,但是还是有差异的. 1 sort原位排序,无返回值:sorted保留原对象 ...

  2. 在Python中如何使用sorted()和sort()函数

    在某种程度上,所有的程序员都必须编写代码对项目或数据进行排序.在应用程序当中,排序对于用户体验而言是非常重要的,无论是按时间戳对用户最近的活动进行排序,还是按照姓氏的字母顺序排列电子邮件收件人列表.P ...

  3. Python3 sorted() 与sort()函数

    描述 sorted() 函数对所有可迭代的对象进行排序操作. sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. list ...

  4. sort函数用法python_python内置函数sorted()及sort() 函数用法和区别

    python内置函数sorted(),sort()都有排序的意思,但是两者有本质的区别,sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作,list 的 sort ...

  5. python sort 函数和sorted函数的简单区别

    1. sort函数可以对列表进行排序,并改变原列表的内容 2. sored 函数返回一个新的列表

  6. numpy np.sort()函数(指定对某一轴进行排序,返回数组的排序副本)(成对数组不要用这个排,用哪个啥lexsort()或argsort()都行)

    指定对哪一层进行排序,如果需排序的是多维数组,特别是那种np.sort()貌似不太友好 from numpy\core\fromnumeric.py @array_function_dispatch( ...

  7. python pop函数 索引_[python] 字典和列表中的pop()函数

    在字典和列表中,pop()函数都是删除特定元素,并将删除的元素返回给指定的变量或丢弃 一.字典元素删除 1.1 clear() 语法:dict.clear() 1 x = {'a':1, 'b':2, ...

  8. Python sorted()函数

    Python sorted() function returns a sorted list from the items in the iterable. Python sorted()函数从ite ...

  9. C++sort函数使用总结

    头文件:algorithm 对于(整数/字符)数组进行比較时,可直接通过sort(a,a+n)或sort(a.begin(),a.end())进行排序,默认升序排列,须要高速实现降序时,有三种方案 1 ...

最新文章

  1. java 二叉树中和为某一值的路径_25. 二叉树中和为某一值的路径
  2. mysql的索引本质是一颗_一文揭开Mysql索引本质
  3. 性能之巅:Linux网络性能分析工具-netstat,ifconfig,nicstat,traceroute,tcpdump
  4. 自定义图片,实现透明度动态变化
  5. 《数据库SQL实战》查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
  6. 国内人工玻璃体和日本人工玻璃体的区别
  7. mysql crash定位分析_MySQL实例crash的案例详细分析
  8. Zend_Form 创建、校验和解析表单的基础--(手冊)
  9. TODO算子-双Value类型的操作
  10. kafka消费者如何读同一生产者消息_Kafka系列3:深入理解Kafka消费者
  11. BI商业智能在企业中的重要性
  12. 浅谈JAVA中Calendar类FirstDayOfWeek的问题
  13. 生命以负熵为生:零知识证明的前世今生
  14. java Optional操作
  15. 支付业务-信用卡拒付
  16. 构建自己的个人信息资料库
  17. 微信小程序 环形进度条_微信小程序实现圆形进度条实例分享
  18. 奕新集团RAC 11g 生产库环境(待完善无图)
  19. suse12搭建ntp服务器
  20. 无数的手机免费Wap网站!

热门文章

  1. 【科技秀】symbian虽然是最差的系统,但却有很多优秀软件其余系统不具备,想玩怎么办?模拟器又来了
  2. Unity的object被销毁时陷进
  3. 关于目标与执行力的思考
  4. IEEE文献基础检索技巧
  5. cad数门窗的lisp_一个画中空玻璃的源码同时求加个功能 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  6. 响应式网页设计之JavaScript与CSS交互
  7. hexdump-format
  8. 【Linux 内核 内存管理】mmap 系统调用源码分析 ④ ( do_mmap 函数执行流程 | do_mmap 函数源码 )
  9. FinalShell 远程桌面连接虚拟机 Win 7
  10. c语言.jpg图片转成数组_多张jpg图片合成pdf文件