国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python常见问题 > 怎么对python的字典进行排序

怎么对python的字典进行排序

dict

头像

silencement

2019-10-10 09:57:222966浏览 · 0收藏 · 0评论

我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dictionary的内容进行排序输出呢?下面摘取了 一些精彩的解决办法。 

python对容器内数据的排序有两种,一种是容器自己的sort函数,一种是内建的sorted函数。

sort函数和sorted函数唯一的不同是,sort是在容器内(in-place)排序,sorted生成一个新的排好序的容器。

1 按照Key值排序

#最简单的方法,这个是按照key值排序: 
def sortedDictValues1(adict): 
items = adict.items() 
items.sort() 
return [value for key, value in items] 

#又一个按照key值排序,貌似比上一个速度要快点 
def sortedDictValues2(adict): 
keys = adict.keys() 
keys.sort() 
return [dict[key] for key in keys] 

#还是按key值排序,据说更快。。。而且当key为tuple的时候照样适用 
def sortedDictValues3(adict): 
keys = adict.keys() 
keys.sort() 
return map(adict.get, keys) 

#一行语句搞定: 
[(k,di[k]) for k in sorted(di.keys())] 

#用sorted函数的key参数(func)排序: 
#按照key进行排序 
print sorted(dict1.items(), key=lambda d: d[0])

2 按照value值排序

#来一个根据value排序的,先把item的key和value交换位置放入一个list中,再根据list每个元素的第一个值,即原来的value值,
排序: 
def sort_by_value(d): 
items=d.items() 
backitems=[[v[1],v[0]] for v in items] 
backitems.sort() 
return [ backitems[i][1] for i in range(0,len(backitems))] 

#还是一行搞定: 
[ v for v in sorted(di.values())] 

#用lambda表达式来排序,更灵活: 
sorted(d.items(), lambda x, y: cmp(x[1], y[1])), 或反序: 
sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True) 

#用sorted函数的key参数(func)排序: # 按照value进行排序 
print sorted(dict1.items(), key=lambda d: d[1])
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

美女被咬小头头视频大全| AAA成人片爽久爽久爽| 头像女下半部位视频大全| 孤男寡女免费观看高清电视剧狂飙| 苍老师电影全集免费播放在线观看| 女人尝试到更粗大的心理变化 | 免费看网站在线观看人数在哪直播| 日韩无矿砖区转吗| 妙手房术3真人版| 每日大赛| 暴躁少女免费看高清电视剧| 《黏糊糊的你》免费观看| 亚洲综合色一区二区三区| 《办公室高潮秘书2》| 一路向西| 《教授与女学生》伦理| 老牛耕田陈雪全文免费阅读笔趣阁| 情趣内衣| 蜜桃成熟时3D| 天美传奇星空MV高清免费| 妈妈的新男友| 边摸边脱吃奶边高潮视频免费| 女仆| 啊轻点…大川巴太粗太长了少妇| 灭火宝贝完整免费高清满天星| 在电影院里拨开内裤挺进| 《浴室吃奶2》无删减| 初二学生小馒头| 六年级女孩裙子下的具体内容| 兄弟换麦子4国语中字| 《玉尺经》完整版| 斗破苍穹年番免费高清观看| 朝国年经继4免费版播放| 《请好好疼爱里面》免费观看| 俄罗斯色情巜做爰4| 《酒店激战》动漫1-5集免费观..| 母与子免费观看大全电视剧| 美国伦理《欲奴3)| 日日精进久久为功的下一句是| 天秤座运势| 国产 欧美一区二区三区