字典排序

使用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)]

 

posted @ 2019-03-11 19:38  一叶河图  阅读(3358)  评论(0编辑  收藏  举报