我有一个问题,从10天以来,我试图在书籍和互联网上找到解决办法,但找不到。这里有一个例子:

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

我必须编写一个方法来找出与最长列表相关联的键。在这个例子中,输出应该是
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函数允许更改比较元素的条件。
在这种情况下,字典的键是根据dictionaryanimals中该键下存储的列表长度进行比较的。

关于python - 如何在Python语言的字典中找到最大元素的键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42001962/

10-12 18:14