python高效编程技巧4(如何根据字典中值的大小,对字典的项进行排序)
#!/usr/bin/env python# -*- coding:utf-8 -*-# 1、方案1:使用内置函数sortedfrom random import randintd = {x: randint(60, 100) for x in 'xadfyz'}# 将字典转换为包含元组的list,使用zip函数结果如:[(60, 'a'), (95, 'd'), (95, 'f'),
·
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 1、方案1:使用内置函数sorted
from random import randint
d = {x: randint(60, 100) for x in 'xadfyz'}
# 将字典转换为包含元组的list,使用zip函数 结果如:[(60, 'a'), (95, 'd'), (95, 'f'), (84, 'y'), (66, 'x'), (82, 'z')]
# result = zip(d.values(), d.keys())
result = zip(d.itervalues(), d.keys()) # 使用iterXXX()能节省内存
print sorted(result) # 从小到大排序
# 2、方案2:使用sorted函数的第二个用法
d = {x: randint(60, 100) for x in 'xadfyz'}
# 其中sorted函数的第二个参数,表示的是要以哪个作为比较,x[1]表示的就是d.items()的第二个值,即字典d的key值
print sorted(d.items(), key=lambda x: x[1])
更多推荐
所有评论(0)