python排序字典
Ⅰ python中字典能排序吗
用标准的dict生成的字典是无序的。但python在标准库中提供了ordereddict,它提供了有序字典的数据结构。
Ⅱ 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
Ⅲ Python字典排序问题
python3.7以上默认是按照你添加字典项目的顺序,而不会给你排序
python3.6以下连插入顺序都是不保证的
Ⅳ 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涓镄勫瓧鍏告帓搴忓备綍瀹炵幇浠g爜璇存槑
杩欑瘒鏂囩珷涓昏佷粙缁崭简python瀛楀吀鎺掑簭瀹炵幇鏂规硶,瀹炰緥鍒嗘瀽浜哖ython瀛楀吀鎺掑簭镄勭浉鍏虫妧宸,闇瑕佺殑链嫔弸鍙浠ュ弬钥冧笅
链鏂囧疄渚嫔垎鏋愪简python瀛楀吀鎺掑簭镄勬柟娉曘傚垎浜缁椤ぇ瀹朵緵澶у跺弬钥冦傚叿浣揿备笅锛
1銆 鍑嗗囩煡璇嗭细
鍦╬ython閲岋纴瀛楀吀dictionary鏄鍐呯疆镄勬暟鎹绫诲瀷锛屾槸涓镞犲簭镄勫瓨鍌ㄧ粨鏋勶纴姣忎竴鍏幂礌鏄痥ey-value瀵癸细
濡傦细dict = {'username'锛'password'锛'database'锛'master'}锛屽叾涓'username'鍜'database'鏄痥ey锛岃'password'鍜'master'鏄痸alue锛屽彲浠ラ氲繃d[key]銮峰缑瀵瑰簲鍊纥alue镄勫紩鐢锛屼絾鏄涓嶈兘阃氲繃value寰楀埌key銆
瀵逛簬dictionnary锛岄渶鐭ラ亾浠ヤ笅鍑犵偣娉ㄦ剰浜嬮”锛
a銆 dictionary 镄 key 鏄澶у皬鍐欐晱镒熺殑锛
b銆 涓涓猟ictionary涓涓嶈兘链夐吨澶岖殑 key锛
c銆 dictionary鏄镞犲簭镄勶纴娌℃湁鍏幂礌椤哄簭镄勬傚康锛屽畠浠鍙鏄搴忓伓镄勭亩鍗曟帓鍒椼
2銆 瀛楀吀鎺掑簭瀹炵幇锛
鍓嶉溃宸茶存槑dictionary链韬娌℃湁椤哄簭姒傚康锛屼絾鏄镐绘槸鍦ㄦ煇浜涙椂鍊欙纴浣嗘槸鎴戜滑甯稿父闇瑕佸瑰瓧鍏歌繘琛屾帓搴忥纴镐庝箞锅氩憿锛熶笅闱㈠憡璇変綘锛
鏂规硶1锛氭渶绠鍗旷殑鏂规硶锛屾帓鍒楀厓绱(key/value瀵)锛岀劧钖庢写鍑哄笺傚瓧鍏哥殑items鏂规硶锛屼细杩斿洖涓涓鍏幂粍镄勫垪琛锛屽叾涓姣忎釜鍏幂粍閮藉寘钖涓瀵归”鐩钬斺旈敭涓庡瑰簲镄勫笺傛ゆ椂鎺掑簭鍙浠sort()鏂规硶銆
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]鏂规硶2锛氢娇鐢ㄦ帓鍒楅敭(key)镄勬柟寮忥纴鎸戝嚭鍊硷纴阃熷害姣旀柟娉1蹇銆傚瓧鍏稿硅薄镄刱eys()鏂规硶杩斿洖瀛楀吀涓镓链夐敭鍊肩粍鎴愮殑鍒楄〃锛屾″簭鏄闅忔満镄勚傞渶瑕佹帓搴忔椂鍙瑕佸硅繑锲炵殑阌鍊煎垪琛ㄤ娇鐢╯ort()鏂规硶銆
def sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return [adict[key] for key in keys]鏂规硶3锛氶氲繃鏄犲皠镄勬柟娉曞幓镟存湁鏁堢殑镓ц屾渶钖庝竴姝
def sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return map(adict.get,keys)鏂规硶4锛氩瑰瓧鍏告寜阌鎺掑簭锛岀敤鍏幂粍鍒楄〃镄勫舰寮忚繑锲烇纴钖屾椂浣跨敤lambda鍑芥暟𨱒ヨ繘琛岋绂
sorted(iterable[, cmp[, key[, reverse]]]
cmp鍜宬ey涓鑸浣跨敤lambda
濡傦细
>>> d={"ok":1,"no":2}#瀵瑰瓧鍏告寜阌鎺掑簭锛岀敤鍏幂粍鍒楄〃镄勫舰寮忚繑锲
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]瀵瑰瓧鍏告寜鍊兼帓搴忥纴鐢ㄥ厓缁勫垪琛ㄧ殑褰㈠纺杩斿洖
>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]瀵瑰瓧鍏稿厓绱犵殑鎺掑簭铏界劧链夊ソ澶氱嶆柟娉曪纴杩欓噷涔熸病链夋荤粨鍏锛屼絾濡傛灉瀵圭▼搴忔晥鐜囨病链夊お楂樿佹眰锛岄夋嫨锽沧㈢殑鐢ㄥ氨濂姐
Ⅵ 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教程请关注环球青藤其它相关文章!
Ⅶ python涓濡备綍瀵瑰瓧鍏歌繘琛屾帓搴
python涓瀛楀吀鏄镞犲簭镄勶纴浣嗘槸濡傛灉瀛樻斁镄勪竴缁勮繖镙风殑鏁版嵁锛屽傛煇鐝鏁板︽垚缁﹞钬渟tudent1":98, "student2":88, "student3":79, "student4":62...},瀵规暟瀛︽垚缁╄繘琛屾帓搴忥纴
鏂规硶涓锛氢娇鐢╬ython鍐呯疆鍑芥暟sorted榛樿ゅ弬鏁版帓搴
1. 鍏堟瀯寤轰竴缁勪娇鐢ㄥ瓧鍏稿瓨鍌ㄧ殑鐢ㄤ緥鏁版嵁 镆ョ湅瀛楀吀镄勯敭鍜屽
2. 浣跨敤zip楂橀桩鍑芥暟鎶婃暟鎹鍙樻垚锛埚硷纴阌锛夊厓缁勫舰寮 铹跺悗浣跨敤sorted榛樿ゅ弬鏁版帓搴
鏂规硶浜岋细缁椤畾sorted镄勫弬鏁拌繘琛屾帓搴
1. 鍏堟煡鐪嬩笅sorted镄勬枃妗d粙缁
2. sorted鏂规硶榛樿key=None,浠庡皬鍒板ぇ鎺掑垪
3. 缁椤畾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)])