1
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) を返し、2 番目のものは (0,0) を返す必要があります。key=sum と key=max を試しましたが、どちらも同じ結果を返します。

4

1 に答える 1

2

これはどうですか:

def thing(list_):                                  
  temp = enumerate(max(x) - min(x) for x in list_)
  return max(x[::-1] for x in temp)
于 2013-02-11T05:47:14.880 に答える