微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何返回 Python 字典中的两个最低值?

如何解决如何返回 Python 字典中的两个最低值?

我需要在我的字典中找到两个最小值。我不能使用 lambda。我可以使用列表,min()。

我不能使用 min() 之外的任何函数。我可以在列表上使用 .sort ,但这意味着将我的字典值转换为列表。我该怎么做?

解决方法

如果您只需要前 2 个最小值,请尝试此操作。

>>> dict = {'A' : 11,'B' : 2,'C' : 11,'D':8,'E':1}
>>> sorted(dict.values())[:2]
[1,2]
>>>

如果您需要前 2 分钟的值及其键,请尝试此操作。

>>> sorted(dict.items(),key=lambda x:x[1])[:2]
[('E',1),('B',2)]
>>>
,

1.试试这个代码,它会帮助你返回具有最小值的键

    test_dict = {'A' : 11,'E':2} 

    # printing original dictionary 

    print("The original dictionary is : " + str(test_dict))

    # Using min() + list comprehension + values() 

    temp = min(test_dict.values()) 
    res = [key for key in test_dict if test_dict[key] == temp] 

    # printing result  

    print("Keys with minimum values are : " + str(res)) 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。