繁体   English   中英

如何在Python语言的字典中找到最大元素的键?

[英]How do I find the key of maximum element in a dictionary in Python language?

自10天以来,我一直在尝试在书籍和互联网上找到解决方案,但是找不到它,这是一个问题。 这里有一个例子:

animals = { 'a': ['lion'], 'b': ['baboon'], 'c': ['goat']}
animals['d'] = ['donkey']
animals['d'].append('elephant')
animals['d'].append('swan')

而且我必须编写一个largest的方法来找出与最长列表关联的键。 在示例中,输出应为

largest(animals)
'd'

将内置的max()与用于键之间比较的自定义函数一起使用。

animals = { 'a': ['lion'], 'b': ['baboon'], 'c': ['goat']}
animals['d'] = ['donkey']
animals['d'].append('elephant')
animals['d'].append('swan')

largest = max(animals, key=lambda k: len(animals[k]))

使用max函数的key参数可以更改比较元素的条件。 在这种情况下,字典的关键字根据存放在字典animals关键字的列表长度进行比较。

如果字典不是很大,请将字典分为2个键和值列表。 这可能是非常有效的方法。 然后,您可以使用max()函数找到max元素。

def largest(animals):
    keys = list(animals.keys())
    vals = list(animals.values())
    return keys[vals.index(max(vals))]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM