python怎么对字典进行排序
发布网友
发布时间:2022-04-21 17:46
我来回答
共1个回答
热心网友
时间:2022-04-06 11:22
给你看看这个字典
dic
=
{'a':1
,
'b':2
,
'c':
3},字典中的元素没有顺序,所以dic[0]是有语法错误的。并且不可以有重复的键值,所以
dic.add['c']
=
4后,字典变成
{'a':1
,
'b':2
,
'c':
4}.现思考如下:如何根据需要可以根据“键”或“键值”进行不同顺序的排序?函数原型:sorted(dic,value,reverse)解释:dic为比较函数,value
为排序的对象(这里指键或键值),
reverse:注明升序还是降序,true--降序,false--升序(默认)案例:dic
=
{'a':1
,
'b':2
,
'c':
3}1.print
sorted(dic.iteritems(),
key
=
lambda
asd:asd[0]
,reverse
=
true)#结果:[('c',
3),
('b',
2),
('a',
1)]2.print
sorted(dic.iteritems(),
key
=
lambda
asd:asd[0]
)#结果:[('a',
1),
('b',
2),
('c',
3)]
,默认(升序)3.print
sorted(dic.iteritems(),
key
=
lambda
asd:asd[1]
)#结果:[('a',
1),
('b',
2),
('c',
3)]这里介绍两个函数:1.lambda案例:fuc
=
lambda
x:x+
2print
fuc(3)
#结果5,意思对于x
,返回
x
+
22.iteritems()案例:dic
=
{'a':1
,
'b':2
,
'c':
3}print
dic.iteritems()
#
返回字典键-值对的一个迭代器在函数sorted(dic.iteritems(),
key
=
lambda
asd:asd[1])中,第一个参数传给第二个参数“键-键值”,第二个参数取出其中的键(【0】)或键值(【1】)