如何找到字典中哪个键具有最长的值列表?

时间:2014-11-30 04:35:22

标签: python dictionary

我试图弄清楚我的词典中哪个键具有最长的值列表。我是一个非常简单的计算机科学课,所以我不能使用lambda和其他复杂的术语。我想知道是否有办法使用循环,if语句和len这样做?

另外,我如何显示具有最长值列表的键的值?

3 个答案:

答案 0 :(得分:1)

一个简单的解决方案可以是这样的:

max_len = 0
max_key = ""
for key in d:
    cur_len = len(d[key])
    if cur_len>max_len:
        max_key = key
        max_len = cur_len
print max_key

答案 1 :(得分:1)

x={'a':[9,8],'b':[1,2,3],'c':'1,2,3,4'}
print [k for k in x.keys() if x[k]==max(x.values(),key=len)]

你可以试试这个。

答案 2 :(得分:0)

import itertools

preds = {'lion': ['gazelle', 'zebra', 'antelope'], 'eagle': ['sparrow', 'mouse'], 'crocodile': ['gazelle', 'antelope', 'buffalo', 'zebra']}

byprey = sorted([(len(v), k) for k, v in preds.iteritems()], reverse=True)

num, predator = byprey[0]
print predator

对于python 3,您只需将iteritems更改为items,例如

byprey = sorted([(len(v), k) for k, v in preds.items()], reverse=True)

和print是一个函数

print (predator)