python字典排序方法,按字典序排序 python
创建一个字典。
Dict1={a 33602, b 33603, c 33608, d 33604} 1。分别选择键和值。
使用dict1.keys()、dict1.vaules(),
因为键和值比较多,所以要加S,注意这里的括号。如果你不注意这样的小细节,很容易出错。
打印(dict1.values()、dict1.keys())结果:
Dict _ values ([4,2,8,3]) dict _ keys ([d , a , c , b])可以看出返回的是列表的形式。
2.同时选择键和值。
同时,获取字典dict1.items()的键和值,并在这里添加S和括号。
打印(dict1.items())结果:
Dict _ items ([(d ,4),( a ,2),( c ,8),( b ,3)])可以看出返回的结果是一个元组列表。
也就是说,通过dict1.items()函数,将字典形式的键和值存储在一个元组中。
3.整理
3.1已排序
我们来看看用sorted()直接排序的情况。
dict1={a:2, e:3, f:8, d:4}
dict2=已排序(dict1)
打印(字典2)结果:
[a , d , e , f]sorted()默认是字典的键,从小到大排序。
3.2.以相反的顺序排列关键字
将关键字反向排序(从最大到最小)
dict1={a:2, e:3, f:8, d:4}
dict2=排序(dict1,reverse=True)
打印(字典2)结果:
[f , e , d , a]像这样对键排序往往是为了得到值。
获取键,对应的值,如:
Print(dict1[dict2[0]])#结果是8
当然,我们也可以先获取所有的键,然后对键进行排序。
dict1={a:2, e:3, f:8, d:4}
list1=已排序(dict1.keys(),reverse=True)
Print(list1)#结果:[f , e , d , a]3.3。对值进行排序
同样,用dict1.values()获取所有值,然后对值进行排序。
dict1={a:2, e:3, f:8, d:4}
list1=sorted(dict1.values())
Print(list1)# Result: [2,3,4,8]设置值reverse=True进行反向排序。
还可以使用dict1.items()获取包含键和值的元组。
因为迭代对象是元组,所以返回值自然是元组列表。
这里定义了排序的规则。x是指元组,x[1]是值,x[0]是键。
dict1={a:2, e:3, f:8, d:4}
list1=sorted(dict1.items(),key=lambdax:x[1])
打印(列表1)结果:
[(a ,2),( e ,3),( d ,4),( f ,8)]对键进行排序:
dict1={a:2, e:3, f:8, d:4}
list1=sorted(dict1.items(),key=lambdax:x[0])
打印(列表1)结果:
[(a ,2),( d ,4),( e ,3),( f ,8)]4 itemgetter
from operator importititemgetter
d={a:8, b:4, c:12}
print(已排序(d.items(),key=itemgetter(0),reverse=True))
Print (sorted (d.items(),key=itemgetter (1),reverse=true))结果:
[(c ,12),( b ,4),( a ,8)]
[(c ,12),( a ,8),( b ,4)] itemgetter (0),获取密钥
Itemgetter(1),获取值。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。