按字典的值对字典进行排序

有时有一种需要,求要按字典的值对字典值进行排序:

下面有两种方法

#!/usr/bin/env python
#coding:utf-8
#@Author:Andy

from random import randint

# generate a random dict
dict1 = {x :randint(1, 100) for x in "abczyx"}
print(dict1)
#method 1
# use built in function  sorted ,zip
dict2 = sorted(zip(dict1.values(), dict1.keys()))
print(dict2)

print("*********")
#method 2

dict3 = sorted(dict1.items(), key = lambda x : x[1])
print(dict3)

 

 

 上面这两种方法最终排序完成的都是一个元组,并非字典,如果需要,可以将其还原成字典。

而且定两种方法得出的元组的形式是相反的。但如果这时需要得到键,那这两种方式都是很方便的。

 

posted on 2017-06-07 18:56 Andy_963 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Andy963/p/6958628.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值