我正在尝试找出字典中的最大价值,对此我有些麻烦。
这是我的代码:

def most_fans(dictionary):
    empty = ''
    for key in dictionary:
        if len(dictionary[key]) > next(dictionary[key]):
            empty = key
    print(empty)


我意识到我的代码存在问题,因为如果我有这样的字典:

fans={'benfica': ['joao','ana','carla'],
      'sporting': ['hugo','patricia'],
      'porto': ['jose']}


输出将是'benfica''sporting'。因为benfica比体育运动更大,但体育运动也比波尔图大。然而,这是我想出的最好的。

有人可以向我展示一种不错的方法吗?

最佳答案

您可以仅将max()与密钥一起使用:

>>> max(fans, key=lambda team:len(fans[team]))
'benfica'


这里:


max(fans, ...)遍历fans的键(即团队名称),根据某些条件寻找最大的元素;
lambda函数指定该条件(在此示例中,团队拥有的粉丝数)。

关于python - 发现字典中的最大值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41434526/

10-08 21:26