我在Python中有一个字典n[i,j]
。我想找到每个i
的dict的每个最大值。
dict看起来像这样:
n[1,1]=3
n[1,2]=4
n[1,3]=7
n[2,1]=5
n[2,2]=64
n[2,3]=32
n[3,1]=21
n[3,2]=21
n[3,3]=45
我想获得每个i
的最大值。在这种情况下
对于i=1
,最大值为n[1,3] = 7
,并且
对于i=2
,最大值为n[2,2] = 64
,
等等。
答案 0 :(得分:0)
这应该有效:
max = [0] * N
for i in range(N):
for j in range(N):
if n[i, j] > max[i]:
max[i] = n[i, j]
答案 1 :(得分:0)
为了清晰起见,我已经在几行中做了这个,但是如果你喜欢单行,你可以在嵌套的词典理解中做到这一点:
>>> from collections import defaultdict
>>> result = defaultdict(list)
>>> for (i,j),v in n.items():
result[i].append(v)
>>> for i,v in result.items():
print (i,max(v))
1 7
2 64
3 45