三、Python的字典排序
2013-10-17 16:01
267 查看
三、Python的字典排序
推荐阅读1:http://hi.baidu.com/beynvrvbprbbklq/item/e6304e207602993295f62be5
推荐阅读2:http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html
下文内容部分来自以上推荐。
1、关于Python字典的一些特征
无序:
字典,形如 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。
无重:
不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.
2、根据“键”或“键值”进行不同顺序的排序
函数原型:sorted(dic,value,reverse)
解释:dic为比较函数,value 为排序的对象(这里指键或键值),
reverse:注明升序还是降序,True--降序,False--升序(默认)
3、例子:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, '33':56, 'd':0}
想把dic的value按照从大到小排序(value都是整数)。
解释如下:
(1)、dic.iteritems(),返回字典键值对的元祖集合
(2)、关于排序对象
上述已经说过,value(或key)为排序的对象(这里指键或键值),然而为什么使用lambda函数呢,这里请参阅:点击阅读
key=lambda d:d[1] 是将键值(value)作为排序对象。
如果选择 key = lambda d:d[0],则选择【键Key】作为排序对象。
(3)、reverse
reverse 是否反向,reverse=Ture表示反向。
(4)、注意:
sorted(dic.iteritems(), key=lambda d:d[1], reverse = False )将每一项dic.iteritems()键值对的元祖进行迭代,每一项都作为参数传入key()函数(我说的是这个:key=lambda d:d[1],)中。
4、回顾
推荐阅读1:http://hi.baidu.com/beynvrvbprbbklq/item/e6304e207602993295f62be5
推荐阅读2:http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html
下文内容部分来自以上推荐。
1、关于Python字典的一些特征
无序:
字典,形如 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。
无重:
不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.
2、根据“键”或“键值”进行不同顺序的排序
函数原型:sorted(dic,value,reverse)
解释:dic为比较函数,value 为排序的对象(这里指键或键值),
reverse:注明升序还是降序,True--降序,False--升序(默认)
3、例子:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, '33':56, 'd':0}
想把dic的value按照从大到小排序(value都是整数)。
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, '33':56, 'd':0} print sorted(dic.iteritems(), key=lambda d:d[1], reverse = False ) #[('d', 0), ('c', 3), ('asd', 4), ('bc', 5), ('a', 31), ('33', 56)]
解释如下:
(1)、dic.iteritems(),返回字典键值对的元祖集合
print dic.iteritems() #<dictionary-itemiterator object at 0x00B71A80> for obj in dic.iteritems(): print obj,obj[0],obj[1] #('a', 31) a 31 #('c', 3) c 3 #('d', 0) d 0 #('bc', 5) bc 5 #('33', 56) 33 56 #('asd', 4) asd 4
(2)、关于排序对象
上述已经说过,value(或key)为排序的对象(这里指键或键值),然而为什么使用lambda函数呢,这里请参阅:点击阅读
key=lambda d:d[1] 是将键值(value)作为排序对象。
key = lambda d:d[1] for i in dic.iteritems(): print key(i), #输出31 3 0 5 56 4,这些都是字典dic的值
如果选择 key = lambda d:d[0],则选择【键Key】作为排序对象。
(3)、reverse
reverse 是否反向,reverse=Ture表示反向。
(4)、注意:
sorted(dic.iteritems(), key=lambda d:d[1], reverse = False )将每一项dic.iteritems()键值对的元祖进行迭代,每一项都作为参数传入key()函数(我说的是这个:key=lambda d:d[1],)中。
4、回顾
lis = ['a','bc','c','asd','33','d'] print sorted(lis) #['33', 'a', 'asd', 'bc', 'c', 'd']
依次比字母, 如boat < boot <cap < card < cat < to < too< two < up
相关文章推荐
- Python中最快的字典排序方法
- python---语句与数据结构应用,迭代、迭代字典、字典排序、字典根据键值查找键、sorted排序方法、translate与maketrans、with语句
- [转]python字典排序
- python 字典排序
- [转]python字典排序
- python的排序函数sort,sorted在列表排序和字典排序中的应用详解和举例
- Python字典排序
- Python学习笔记5-字符串、bool、数值操作和数组字典排序
- Python字典排序
- Python学习笔记(一)字典排序
- Python的字典排序
- python 字典排序
- python列表字典排序
- python中列表和字典排序
- python天天进步(4)--字典排序
- Python学习笔记5-字符串、bool、数值操作和数组字典排序
- Python学习笔记5-字符串、bool、数值操作和数组字典排序
- python--字典排序
- Python列表或字典排序
- Python中 字典排序、列表排序