pythonlist排序字典
1. python之字典排序,这篇文章里,return的东西有点看不懂
return [value for key, value in items] #返回一个“由字典项的值组成的列表[]
比如字典items是{ 'a':0, 'b':1, 'c':2}
将返回[0,1,2]
return [adict[key] for key in keys] #将以字典keys的键作为字典adict的键,返回一个“由字典adict的值组成的列表[]
比如keys为{ 'a':0, 'b':1, 'c':2},adict为{ 'a':3, 'b':4, 'c':5}
将返回[3, 4, 5]
return map(adict.get,keys) #函数映射,把keys的键值逐个映射到adict.get函数,即用keys的键求adict的值,返回到一个遍历器。
执行list(map(adict.get,keys))得到[3,4,5] 顺序或有不同
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教程请关注环球青藤其它相关文章!
3. 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)
4. python列表嵌套字典排序
L=[{'status':1,'com':'a'},{'status':2,'com':'c'},{'status':1,'com':'b'},{'status':1,'com':'a'}]
L.sort(key=lambdax:(-x['status'],x['com']))#
printL
5. 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
6. 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"]))
7. python 列表嵌套字典再嵌套字典怎么排序
sorted(my_list,key=lambda x:x['location']['left'])
8. python字典排序问题
python字典里根本就没顺序,即便你用键值大小排序,那你也把所有简直放到一个列表里比较下才能找到最值,最终还是在列表里完成的排序。
9. 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))
10. python 字典排序
dict_a={0:5,1:4,2:5,3:4,4:2,5:2,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:4,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:2,24:3,25:2,26:0,27:1,28:1,29:0,30:2,31:3,32:3,33:3}
dict_b=sorted(dict_a.iteritems(),key=lambdad:d[1],reverse=True)
printdict_a
printdict_b
foriinrange(5):
printdict_b[i][0]