gpt4 book ai didi

python - 如何使用值对字典进行排序并能够访问键

转载 作者:行者123 更新时间:2023-11-28 19:33:35 25 4
gpt4 key购买 nike

dic = {'Tea': 35, 'Coffee': 35, 'Chocolate': 10}

我想按值降序对这个字典进行排序,但我怎样才能访问键呢?

示例代码:

for x in sorted(dic.values()):
print(key, dic[key])

我还希望在值相等时按字母顺序对输出进行排序。

预期输出:

Coffee 35
Tea 35
Chocolate 10

最佳答案

你要的是the dict.items() method ,它提供了 (key, value) 元组。

要按值排序,然后使用 key 方法,在本例中为 operator.itemgetter()从元组中获取第二个值进行排序,然后设置 reverse 属性以按照您想要的顺序获取它们。

>>> from operator import itemgetter
>>> dic={'Tea': 35, 'Coffee': 35, 'Chocolate': 10}
>>> for key, value in sorted(dic.items(), key=itemgetter(1), reverse=True):
... print(key, value)
...
Tea 35
Coffee 35
Chocolate 10

编辑:如果您想将按键排序作为次要排序,我们可以简单地传递一个值元组,Python 将对第一个值进行排序,然后对第二个值进行排序,依此类推...唯一的问题是使用 reverse will意味着我们按错误的顺序得到它们。作为 hack,我们简单地使用值的负数版本来排序而不进行反向排序:

>>> for key, value in sorted(dic.items(), key=lambda x: (-x[1], x[0])):
... print(key, value)
...
Coffee 35
Tea 35
Chocolate 10

关于python - 如何使用值对字典进行排序并能够访问键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com