#!/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])
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐