python中字典排序
‘壹’ python字典中根据值的大小,按顺序排列键有什么方法
s={"a":"bb","b":"cc","c":"aa"}
deffun(s):
d=sorted(s.iteritems(),key=lambdat:t[1],reverse=False)
returnd
d=fun(s)
printd
iteritems()得到的[(键,值)]的列表,通过sorted方法,指定排序的键值key是原来字典中的value属性,其中用到了匿名函数lambda,参数为t列表,返回第二个元素t[1],也就是每个键值对中的value,从小到大排序时reverse=False,从大到小排序是True!
‘贰’ Python中什么是字典序
1.python中字典就是无序的
2.对字典数据进行排序,无论是根据键或值,都需要转化为列表或元组进行。sorted()函数返回的即是一个列表集合
‘叁’ python 中的字典怎么排序,怎么按照添加的顺序显示
其实在Python2.7.x版本中, collections类增加了OrderedDict, 用法如下:pywugw@pywugw-laptop:~$ /usr/local/bin/python2.7 Python 2.7b1 (r27b1:79927, Apr 26 2010, 11:44:19) [GCC 4.4.3] on linux2 Type "help", "right", "credits" or "license" for more information. >>> from collections import OrderedDict >>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}#按key排序 >>> OrderedDict(sorted(d.items(), key=lambda t: t[0])) OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])#按value排序 >>> OrderedDict(sorted(d.items(), key=lambda t: t[1])) OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)]) #按key的长度排序 >>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0]))) OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])
‘肆’ python对字典排序,代码如下。
tag_sorted = sorted(tag_count.iteritems(),key = operator.itemgetter(1),reverse = True)
# tag_sorted是个列表
eg.
>>> adict = dict([(x, 10+x) for x in xrange(10)])
>>> adict
{0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19}
>>> sorted(adict.iteritems())
[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), (7, 17), (8, 18), (9, 19)]
>>>
对于列表是没有.iteritems()方法的;后续代码可以调整为:
for i,(k,v) in enumerate(tag_sorted):
print("%d %d %d"%(k,v,i))
‘伍’ python 中dictionary值可以排序吗
可以按照key或value排序:
测试dict字典内容如下:
test_dict={'zhangsan':20,'lisi':30,'wangerma':40}
1. 按key顺序排列
for key in sorted(test_dict.iterkeys()):print "%s: %s" % (key, test_dict[key])
若要按key值降序排列:
for key in sorted(test_dict.iterkeys(),reverse=True):print "%s: %s" % (key, test_dict[key])
2. 按value数序排列
for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k)):print "%s: %s" % (key, value)
若要按value值降序排列:
for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k),reverse=True):print "%s: %s" % (key, value)
转自:http://lovesoo.org/python-dict-sorted-by-key-or-value.html
‘陆’ Python中字典按照指定列表的顺序排列
roles=["OWNER","RCOM","HRGDL2","HRM","HRH","MP","HP","VP","GM"]
info={"VP":"80003","HRM":"F140019","MP":"F130008","HRGDL2":"F140390","OWNER":"F133255","RCOM":"F900151","GM":"00903","HP":"80355","HRH":"81453"}
sorted_dict=map(lambdax:{x:info[x]},roles)
print(sorted_dict)
‘柒’ python中字典能排序吗
用标准的dict生成的字典是无序的。但python在标准库中提供了ordereddict,它提供了有序字典的数据结构。
‘捌’ 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"]))
‘玖’ 在python中,给字典排序并画饼图
#coding=utf-8
importnumpyasnp
importmatplotlib.pyplotasplt
res={
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,showpercet
plt.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()
‘拾’ python字典怎么排序
python字典怎么排序?
定义一个字典类型
mydict = {2: '小路', 3: '黎明', 1: '郭富城', 4:'周董'}
可分别打印 key和value 看一下数据
按KEY排序,使用了 lambda和 reverse= False(正序)
key和value都输出
reverse= True(逆序)
按value排序,汉字次序不是按拼音输出
sorted并不改变字典本身的数据次序。
输出后为列表和元组
可以 A = sorted(mydict.items(),key = lambda mydict:mydict[1],reverse= False) 赋值给A ,A的次序是变化后的
推荐:《Python教程》
注意事项
sorted并不改变字典本身的数据次序
如果要变化后的 可以赋值给另一个列表变量以上就是小编分享的关于python字典怎么排序的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!