Python中的排序sorted(d.items(), key=lambda x: x[1])

 1 ''' 参考链接:https://blog.csdn.net/Jeffxu_lib/article/details/88650431
 2 Python中的排序sorted(d.items(), key=lambda x: x[1])
 3 '''
 4 # 1、Python中对键值对进行输出和排序
 5 d = {'a': 24, 'g': 52, 'i': 12, 'k': 33}
 6 # 以列表形式输出字典d的key
 7 b1 = [key for key, value in d.items()]  # d.items()为字典d的键值对
 8 print(b1)   # ['a', 'g', 'i', 'k']
 9 
10 # 以列表的形式输出字典d的value
11 b2 = {value for key, value in d.items()}
12 print(b2)   # {24, 33, 52, 12}
13 
14 # 颠倒字典d的key:value位置
15 b3 = {value: key for key, value in d.items()}
16 print(b3)   # {24: 'a', 52: 'g', 12: 'i', 33: 'k'}
17 
18 # 将字典d按value的值进行排序    key=lambda x: x[1]  实现
19 b4 = sorted(d.items(), key=lambda x: x[1])
20 print(b4)   # [('i', 12), ('a', 24), ('k', 33), ('g', 52)]
21 
22 '''
23 sorted(d.items(), key=lambda x: x[1])   中 d.items() 为待排序的对象;
24 key=lambda x: x[1] 为对前面的对象中的第二维数据(即value)的值进行排序。 
25 key=lambda  变量:变量[维数] 。维数可以按照自己的需要进行设置。
26 '''
27 # 2、维数以字符串来表示
28 # 将列表中的age由大到小排序
29 alist = [{'name1': 'a', 'age': 20}, {'name2': 'b', 'age': 30}, {'name3': 'c', 'age': 25}]
30 b = sorted(alist, key=lambda x: x['age'], reverse=True) # reverse 是否逆序
31 print(b)    # [{'name2': 'b', 'age': 30}, {'name3': 'c', 'age': 25}, {'name1': 'a', 'age': 20}]

 

posted @ 2020-08-04 11:02  Bro_Li  阅读(8035)  评论(0编辑  收藏  举报