def findMaxDiff(l):
'list(list(int)), returns index of the row with the maximum difference between elements and the value of the difference in that row'
return (max(max(a) - min(a) for a in l), l.index(max(l, key=max)))
虽然我已经让它返回最大数字的值,但我无法让它返回该列表的正确索引。在这种情况下它工作正常:
>>> findMaxDiff([[12,3,50,17], [10,5,9,100,31], [5,3,1]])
(95, 1)
但在这种情况下不会。
>>> findMaxDiff([[0,10],[99,99]])
(10, 1)
>>> findMaxDiff([[1],[2],[3]])
(0, 2)
对于第一个,它应该返回(10,0),第二个应该返回(0,0)。我已经尝试过key = sum和key = max,但两者都返回相同的东西。
答案 0 :(得分:2)
这是怎么回事:
def thing(list_):
temp = enumerate(max(x) - min(x) for x in list_)
return max(x[::-1] for x in temp)