[英]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.