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

如何在Python语言的字典中找到maximum元素的键?,python,python-3.x,Python,Python 3.x,我有一个问题,因为10天以来,我试图找到解决方案的书籍和互联网上,但没有找到它。这里有一个例子: animals = { 'a': ['lion'], 'b': ['baboon'], 'c': ['goat']} animals['d'] = ['donkey'] animals['d'].append('elephant') animals['d'].append('swan') 我必须编写一个方法maximust,找出与最长列表相关联的键。在本例中,输出应为 largest(animal

我有一个问题,因为10天以来,我试图找到解决方案的书籍和互联网上,但没有找到它。这里有一个例子:

animals = { 'a': ['lion'], 'b': ['baboon'], 'c': ['goat']}
animals['d'] = ['donkey']
animals['d'].append('elephant')
animals['d'].append('swan')
我必须编写一个方法
maximust
,找出与最长列表相关联的键。在本例中,输出应为

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]))
使用
key
参数到
max
函数可以更改比较元素的标准。
在这种情况下,将根据字典
中该键下存储的列表长度比较字典中的键,如果字典不是很大,则将字典拆分为两个键和值列表。这是一种非常有效的方法。
然后,您可以使用
max()
函数找到max元素

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

你能否更具体地说明你问题中“最大”的定义?我猜你想要字典中与最大长度列表相关联的键。非常感谢你这么快的回答。事实上,我是Python的noice程序员,并不专业。我得到了我的答案,但我不知道它为什么会出现在这里。也许将来当我学习更多的Python时,我就会知道了。