sorted 函数排序
2021-04-08 07:26
标签:list values items 关系 value 函数 形式 默认 12px 1,sorted 函数 iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等; key是一个函数,用来选取参与比较的元素, reverse则是用来指定排序是倒序还是顺序, reverse=True则是倒序(从大到小),reverse=false则是顺序(从小到大), 默认是reverse=false。 2,按照key排序 >>> a_dic = {"老张":38, "老齐":42, "老孙":29, "老刘":24} 直接对a_dic.keys 字典中的键或值排序。 3,这样排序后,失去了原来的对应关系,如果我想知道谁的年龄最大, 希望排序后年龄随着姓名一起变动,则需要lambda函数。 >>> a_dic = {‘老张‘: 38, ‘老齐‘: 42, ‘老孙‘: 29, ‘老刘‘: 24} a_dic.items() 输出为元组(key,value)形式,sorted中的关键字key=lambda x : x[1] 表示将元组的第2列进行排序(若对第1列排序则取x[0],此处x表示变量名,可以任取) 方法二:把字典转化为列表进行排序 >>> a_dic = {"老张":38, "老齐":42, "老孙":29, "老刘":24} >>> name_age = list(a_dic.items()) >>> sorted(name_age, key = lambda s : s[1 ], reverse = True) >>> a_dic = {"老张":38, "老齐":42, "老孙":29, "老刘":24} a_dic = {"老张":35, "老齐":43, "老孙":19, "老刘":27} 老齐 43 sorted 函数排序 标签:list values items 关系 value 函数 形式 默认 12px 原文地址:https://www.cnblogs.com/yinziming/p/13379381.html
sorted 函数语法:sorted (iterable,key,reverse),一共有iterable,key,reverse这三个参数。
要对字典按照key排序,可以直接调用sorted函数。
>>> sorted(a_dic.keys())
[‘老刘‘, ‘老孙‘, ‘老张‘, ‘老齐‘]
>>> sorted(a_dic.keys(),reverse = True)
[‘老齐‘, ‘老张‘, ‘老孙‘, ‘老刘‘]
>>> sorted(a_dic.values())
[24, 29, 38, 42]
>>>
>>> sorted(a_dic.items(), key = lambda x :x[1], reverse = True)
[(‘老齐‘, 42), (‘老张‘, 38), (‘老孙‘, 29), (‘老刘‘, 24)]
>>>
[(‘老齐‘, 42), (‘老张‘, 38), (‘老孙‘, 29), (‘老刘‘, 24)]
>>>
>>> name_age = list(a_dic.items())
>>> nage = sorted(name_age, key = lambda s : s[1 ], reverse = True)
>>> name, age = nage[0]
>>> print(name,age)
老齐 42
>>>
name_age2 = list(a_dic.items())
name_age2.sort(key = lambda s : s[1], reverse = True )
name, age = name_age2[0]
print(name, age)