我有一个具有以下结构的数据集:
In[17]: allIndices
Out[17]:
[{0: 0, 1: 1.4589, 4: 2.4879},
{0: 1.4589, 1: 0, 2: 2.1547},
{1: 2.1547, 2: 0, 3: 4.2114},
{2: 4.2114, 3: 0},
{0: 2.4879, 4: 0}]
我想确定字典列表中的最高值。我做如下:
def findMax(data):
possiblemax = []
for i in range(len(data)):
temp = list(data[i].values())
tempmax = max(temp)
possiblemax.append(tempmax)
maxValue = max(possiblemax)
return maxValue
它可以工作,但是我要处理非常大的数据集,而且速度有点慢。我想知道一种更好,更快的方法。
非常感谢
遍历列表中的所有字典;遍历每个字典,获取值。拿max
那个。使用内置的构造函数,可以使运行时系统尽最大可能为您优化事物。
在Python 2.7中:
ddd = [{0: 0, 1: 1.4589, 4: 2.4879},
{0: 1.4589, 1: 0, 2: 2.1547},
{1: 2.1547, 2: 0, 3: 4.2114},
{2: 4.2114, 3: 0},
{0: 2.4879, 4: 0}]
def findMax(data):
return max(val for item in data for val in item.itervalues())
print "MAX", findMax(ddd)
输出:
MAX 4.2114
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句