本文收集整理关于python字典怎么排序的相关议题,使用内容导航快速到达。
内容导航:
Q1:python 字典排序
字典是无序的,兄弟
你看嘛:
1234567>>>testmap={123:[aaa,5],234:[bbb,2],345:[ccc,3],456:[ddd,1]}>>>printtestmap{456:[ddd,1],345:[ccc,3],234:[bbb,2],123:[aaa,5]}>>>testmap={456:[ddd,1],234:[bbb,2],345:[ccc,3],123:[aaa,5]}>>>printtestmap{456:[ddd,1],345:[ccc,3],234:[bbb,2],123:[aaa,5]}>>>Q2:python怎么对字典进行排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:
1 下面的是按照value的值从大到小的顺序来排序。
dic = {a:31, bc:5, c:3, asd:4, aa:74, d:0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict
输出的结果:
[(aa, 74), (a, 31), (bc, 5), (asd, 4), (c, 3), (d, 0)]
下面我们分解下代码
print dic.iteritems() 得到[(键,值)]的列表。
然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。
2 对字典按键(key)排序:
dic = {a:31, bc:5, c:3, asd:4, aa:74, d:0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的键
print dict
Q3:python 字典排序 字典序排序是什么意思
字典就是包含key:value对的集合
比如
L = [{"name": "zhangsan", "birth":19920208, "gender":"m"}, {"name": "lisi", "birth":19900609, "gender":"m"}, {"name": "wanghong", "birth":19950907, "gender":"f"}]
对字典排序就是对列表进行排序后打印:
from operator import itemgetter
L = sorted(L,key=itemgetter(birth),reverse=True)
for i in range(0,len(L)):
... print("Name: {:10} Gender: {:2} Birth: {}".format(L[i]["name"],L[i]["gender"],L[i]["birth"]))
Q4:想问下python字典排序 怎么才能先按照值大小降序排列 若值相同 再按照键的字母顺序排呢????
暂时只能想到这样的,结果是排序后的键列表。
d = {a: 3, c: 4, b: 3, d: 2, f: 4, e: 2}
result = []
keys = sorted(d, key=lambda k: d[k])
for k in keys:
if not result:
result.append(k)
elif d[k] == d[result[-1]] and k
Q5:在python中,给字典排序并画饼图
123456789101112131415161718192021222324252627282930313233343536#coding=utf-8importnumpyasnpimportmatplotlib.pyplotaspltres={11:234,44:565,22:453,33:767,55:890,66:67,77:88}labels=[]fracs=[]fork,vinres.items():labels.append(str(k))fracs.append(v)explode=[0,0,0,0]#0.1凸出这部分,plt.axes(aspect=1)#setthis,Figureisround,otherwiseitisanellipse#autopct,showpercetplt.pie(x=fracs,labels=labels,explode=None,autopct=%3.1f%%,shadow=True,labeldistance=1.1,startangle=90,pctdistance=0.6)labeldistance,文本的位置离远点有多远,1.1指1.1倍半径的位置autopct,圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数shadow,饼是否有阴影startangle,起始角度,0,表示从0开始逆时针转,为第一块。一般选择从90度开始比较好看pctdistance,百分比的text离圆心的距离patches,l_texts,p_texts,为了得到饼图的返回值,p_texts饼图内部文本的,l_texts饼图外label的文本plt.show()
Q6:python 中的字典怎么排序,怎么按照添加的顺序显示
给你看看这个字典 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】)