字典排序


使用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 升序(默认)。

返回值

返回重新排序的列表。

 

实例

1.对key值排序

#默认key
>>> d
{'a': 2, 'e': 5, 'c': 1} >>> sorted(d) ['a', 'c', 'e']
反向 >>> sorted(d,reverse=True) ['e', 'c', 'a']
#使用d.keys()
>>> sorted(d.keys())
['a', 'c', 'e'] #反向 >>> sorted(d.keys(),reverse=True) ['e', 'c', 'a']

 

2.对value进行排序

>>> d
{'a': 2, 'e': 5, 'c': 1}
>>> sorted(d.values())
[1, 2, 5]
反向
>>> sorted(d.values(),reverse=True)
[5, 2, 1]

 

3.分别根据key和value排序,保留key和value值

>>> d
{'a': 2, 'e': 5, 'c': 1}
#对键进行排序
>>> sorted(d.items())
[('a', 2), ('c', 1), ('e', 5)]
>>> sorted(d.items(),reverse=True)
[('e', 5), ('c', 1), ('a', 2)]

>>> sorted(d.items(),key=lambda x:x[0])
[('a', 2), ('c', 1), ('e', 5)]
>>> sorted(d.items(),key=lambda x:x[0],reverse=True)
[('e', 5), ('c', 1), ('a', 2)]

#对值进行排序
>>> sorted(d.items(),key=lambda x:x[1])
[('c', 1), ('a', 2), ('e', 5)]
>>> sorted(d.items(),key=lambda x:x[1],reverse=True)
[('e', 5), ('a', 2), ('c', 1)]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM