首页 > 解决方案 > 如何打印列表中元素数量最多的键?

问题描述

我想编写一个函数,该函数将返回字典中键的名称,以使该键在其列表中具有最多的元素。

我设法编写了一个函数来计算我的动物列表中的值的数量。我试图寻找一种方法来实现这一点,但是

animals = { 'a': ['horse'], 'b': ['baboon'], 'c': ['giraffe','donkey']}

def how_many(dic):
    count = 0
    for x in animals: 
        if isinstance(animals[x], list): 
            count += len(animals[x]) 
    print(count)


def biggest(dic):
    p = []
    for i in range(len(animals)):
        x = how_many(dic[i])
        p.append(x)

#stuck here

最大的(dic)函数应该打印 C。

标签: pythonpython-3.x

解决方案


您可以为key内置max函数提供一个参数以轻松执行此操作:

animals = { 'a': ['horse'], 'b': ['baboon'], 'c': ['giraffe','donkey']}

print(max(animals.keys(), key=lambda k:len(animals[k])))
# prints 'c'



推荐阅读