假设我们有一个dict,
dict = {'blue': ['sky','sea'], 'orange': ['carrots','sunset','oranges'], 'green': ['grass']}
输出应该是
['carrots','sunset','oranges']
因为它得到了最多的值。
这就是我目前所拥有的:
for k,v in dict.items():
print(max(k,len(v)))
为什么不只是:
>>> d = {'blue': ['sky','sea'], 'orange': ['carrots','sunset','oranges'], 'green': ['grass']}
>>> print max(d.values(), key=len)
['carrots', 'sunset', 'oranges']
最好不要把字典也命名为dict
。这将覆盖内置类型。
由于标题要求他们密钥-以下是如何做到
>>> d = {'blue': ['sky','sea'], 'orange': ['carrots','sunset','oranges'], 'green': ['grass']}
>>> max_key = max(d, key=lambda k: len(d[k]))
>>> max_key
'orange'
一旦你有了密钥,查找它比迭代d.values()更快——假设你真的也需要密钥
>>> d[max_key]
['carrots', 'sunset', 'oranges']
或者,您可以提取一个包含键/值对的元组
>>> max(d.items(), key=lambda i :len(i[1]))
('orange', ['carrots', 'sunset', 'oranges'])