3 回答

TA貢獻1775條經(jīng)驗 獲得超11個贊
其他選擇:
l=[[5,6,7],[6,10,9,6],[2,3,1]]
maxs = [ max(s) for s in l ] #=> [7, 10, 3]
max_idxs = [ s.index(max(s)) for s in l ] #=> [2, 1, 1]
mins = [ min(s) for s in l ] #=> [5, 6, 1]
mins_idxs = [ s.index(min(s)) for s in l ] #=> [0, 0, 2]
或者您可以將結(jié)果存儲到一個 dict 數(shù)組中,一個班輪:
mapp = map(lambda x: {'max': max(x), 'max_idxs': x.index(max(x)), 'min': min(x), 'min_idxs': x.index(min(x)) }, l)
for k in mapp:
print(k)
#=> {'max': 7, 'max_idxs': 2, 'min': 5, 'min_idxs': 0}
#=> {'max': 10, 'max_idxs': 1, 'min': 6, 'min_idxs': 0}
#=> {'max': 3, 'max_idxs': 1, 'min': 1, 'min_idxs': 2}

TA貢獻1829條經(jīng)驗 獲得超7個贊
您可以使用以下單行:
l=[[5,6,7],[6,10,9,6],[2,3,1]]
maxL, index = zip(*[(max(subList), subList.index(max(subList))) for subList in l])
print(maxL) # will output (7, 10, 3)
print(index) # will output (2, 1, 1)
添加回答
舉報