语法:
sorted(iterable, key=None, reverse=False)
*iterable:可迭代的对象
*key:用来排序的元素,可以通过函数指定
*reverse:排序规则,reverse = True 降序 , reverse = False 升序(默认
1、sorted()用于列表list
a=[1,4,2,6]
sorted(a)
输出:[1, 2, 4, 6]
sort ()是应用在 list 上的方法,sorted ()可以对所有可迭代的对象进行排序操作。
sorted()函数在副本上进行排序,排序后源数据不发生改变。
sort()函数在视图上进行排序,排序后源数据发生改变。
a=[1,4,2,6]
a.sort()
a#此处a已经经过排序
输出:[1, 2, 4, 6]
2、sorted()用于元组tuple
b=(1,4,2,5)
sorted(b)
输出:[1, 2, 4, 5]
3、sorted()用于字典dictionary
对字典进行排序,需将字典通过items()转换为元组列表。
di={'zhang':4,'pan':7,'wang':4,'li':2,'hu':2}
di.items()
输出:
dict_items([(‘zhang’, 4), (‘pan’, 7), (‘wang’, 4), (‘li’, 2), (‘hu’, 2)])
(1)、sorted()函数默认对字典的key值进行排序
sorted(di.items())
输出:[(‘hu’, 2), (‘li’, 2), (‘pan’, 7), (‘wang’, 4), (‘zhang’, 4)]
sorted(di.items(),reverse=True)
输出:[(‘zhang’, 4), (‘wang’, 4), (‘pan’, 7), (‘li’, 2), (‘hu’, 2)]
(2)、如果想要对字典的value值进行排序,可以设置key参数
sorted(di.items(),reverse=True,key=lambda x:x[1])
输出:[(‘pan’, 7), (‘zhang’, 4), (‘wang’, 4), (‘li’, 2), (‘hu’, 2)]
(3)、嵌套排序
先对字典的value值进行降序排序,value值相同,对相同value值的key值进行降序排序。
sorted(sorted(di.items(),reverse=True,key=lambda x:x[0]),reverse=True,key=lambda item:item[1])
输出:[(‘pan’, 7), (‘zhang’, 4), (‘wang’, 4), (‘li’, 2), (‘hu’, 2)]