【Python】按照字典中值的大小对键进行排序(lambda、sorted()、zip())

按照字典中值的大小对键进行排序

方式一
python3字典的排序

这篇博客对于python字典排序的相关知识介绍比较全面,其中我们需要的功能代码为:

dict1={'a':12,'e':3,'f':8,'d':4}
list1= sorted(dict1.items(),key=lambda x:x[1])
print(list1)

在这里插入图片描述
其中lambda为匿名函数,作用是“取出字典的值”作为排序函数sorted()的排序依据。
Python3 sorted() 函数
关于Python中的lambda


方式二
python【4】根据字典中值的大小,对字典的键进行排序
思路是用zip()函数将字典转换为元组后再排序
代码1:

dict1={'a':12,'e':3,'f':8,'d':4}
tuple1=zip(dict1.values(),dict1.keys())
c=list(sorted(tuple1))
print(c)

在这里插入图片描述
代码2:

from random import randint
dic1={ k:randint(1,99) for k in 'uncopyrightable'}
print(dic1)
#tuple1=zip(dic1.items())
tuple1=zip(dic1.values(),dic1.keys())
print(list(sorted(tuple1)))

在这里插入图片描述
这里生成字典的方法值得好好品味~

Python zip() 函数


方式三:
python字典值排序并取出前n个key值
很多时候我们只希望取出出现较高频率的几个单词

def order_dict(dicts, n):
    result = []
    result1 = []
    p = sorted([(k, v) for k, v in dicts.items()], reverse=True)
    s = set()
    for i in p:
        s.add(i[1])
    for i in sorted(s, reverse=True)[:n]:
        for j in p:
            if j[1] == i:
                result.append(j)
    for r in result:
        result1.append(r[0])
    return result1

dic3={'user1':0.456,'user2':0.999,'user3':0.789,'user':0.234,'unbelievable':123}
print(order_dict(dic3,3))

在这里插入图片描述


uncopyrightable 无法取得版权的

“The quick brown fox jumps over a lazy dog” 敏捷的棕毛狐狸从懒狗🐶身上越过

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值