繁体   English   中英

在列表字典中查找最大值

[英]Find maximum value in dictionary of lists

如何在不使用循环的情况下在列表 字典中找到列表最大值 我的字典看起来像:

data = {'key1': list1, 'key2': list2, ... 'keyn': listn}

如果我使用:

m = max(data.iterkeys(), key=lambda k: data[k])

输出为:

m = 'keyn'

我不想拥有

遍历生成器表达式中每个列表中的项目:

m = max(i for v in data.values() for i in v)
myDict = {'key1': [1,2,3], 'key2': [4,5,6]}
maxValue = max((max(myDict[key]) for key in myDict))

输出: 6

如果您是python的新手,那么这是Moses Koledoye如何做到的一种易读的方法:

for v in myDict.values():
    for i in v:
        m = i if i > m else m

您可以找到这样的最大值。 没有使用任何循环。

max(max(data.values()))

但是,当所有值都是可迭代的时,此答案才有效。

In [1]: myDict = {'key1': [1,2,3], 'key2': [4,5,6]}
In [2]: max(max(myDict.values()))
Out[1]: 6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM