码迷,mamicode.com
首页 > 编程语言 > 详细

python字典排序

时间:2018-04-29 13:35:49      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:字典   dict   key   value   排序   

我们都知道字典是无序的,如何根据字典的key或者value排序呢?

根据字典的key排序

提供三种方法:
1、使用lambda

>>> a = {‘b‘:‘a‘,‘d‘:‘d‘,‘a‘:‘a‘}
>>> sorted(a.items(),key=lambda x:x[0])
[(‘a‘, ‘a‘), (‘b‘, ‘a‘), (‘d‘, ‘d‘)]

2、使用operator模块

>>> import operator
>>> sorted(a.items(),key=operator.itemgetter(0))
[(‘a‘, ‘a‘), (‘b‘, ‘a‘), (‘d‘, ‘d‘)]

3、直接使用sorted
默认会对字典的key排序

>>> sorted(a.items())
[(‘a‘, ‘a‘), (‘b‘, ‘a‘), (‘d‘, ‘d‘)]

根据字典的value排序

提供两种方法:
1、使用lambda,换一下索引就可以了

>>> a = {‘a‘:‘d‘,‘b‘:‘a‘,‘c‘:‘b‘}
>>> sorted(a.items(),key=lambda x:x[1])
[(‘b‘, ‘a‘), (‘c‘, ‘b‘), (‘a‘, ‘d‘)]

2、使用operator,也是换一下索引就可以

>>> import operator
>>> sorted(a.items(),key=operator.itemgetter(1))
[(‘b‘, ‘a‘), (‘c‘, ‘b‘), (‘a‘, ‘d‘)]

需要注意的是,sorted()默认不会改变本身的值,只是return回来一个结果

直接使用dict函数包裹一下就好了:

>>> a = dict(sorted(a.items(),key=lambda x:x[0]))
>>> a
{‘a‘: ‘d‘, ‘b‘: ‘a‘, ‘c‘: ‘b‘}

python字典排序

标签:字典   dict   key   value   排序   

原文地址:http://blog.51cto.com/13723193/2109055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!