‘壹’ python中字典能排序吗
字典本身就是无序的,也就不存在排序。
但是可以参照键、值,就行排序输出元组列表,
例如图中例子
‘贰’ python 中dictionary值可以排序吗
可以按照key或value排序:
测试dict字典内容如下:
test_dict={'zhangsan':20,'lisi':30,'wangerma':40}
1. 按key顺序排列
for key in sorted(test_dict.iterkeys()):print "%s: %s" % (key, test_dict[key])
若要按key值降序排列:
for key in sorted(test_dict.iterkeys(),reverse=True):print "%s: %s" % (key, test_dict[key])
2. 按value数序排列
for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k)):print "%s: %s" % (key, value)
若要按value值降序排列:
for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k),reverse=True):print "%s: %s" % (key, value)
转自:http://lovesoo.org/python-dict-sorted-by-key-or-value.html
‘叁’ 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的字典输出时候默认排序问题
dict的特点就是存储的key-value序对是没有顺序的!这和list不一样,它在内存中存储是无序的