我正在尝试找出字典中的最大价值,对此我有些麻烦。
这是我的代码:
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/