两个列表中的最大元素索引

时间:2013-10-13 09:45:05

标签: python numpy

如果我有两个列表并找到这两个列表之间的最大元素。 我正在使用python中的numpy模块实现这一点,假设nc是列表。

numpy.max(max(n, c)) --- 1
n = [7,1,54,812,124,6,21]
c = [1,23,5,6,2,345]
final value = [0][3]

如果需要获取列表中元素的索引,我们会这样做:

list1.index(int(value))

我们如何找到最大元素的索引,其中获取此最大元素作为eq(1)的值。

1 个答案:

答案 0 :(得分:4)

使用numpy.argmax

>>> import numpy
>>> numpy.argmax([5, 4, 3, 9, 1, 2])
3
>>> numpy.argmax([10, 5, 4, 3, 9, 1, 2])
0

import numpy

def find_max_index(xs):
    candidates = [((i,numpy.argmax(x))) for i, x in enumerate(xs)]
    return max(candidates, key=lambda pos: xs[pos[0]][pos[1]])

示例:

>>> n = [7,1,54,812,124,6,21]
>>> c = [1,23,5,6,2,345]
>>> find_max_index([n, c])
(0, 3)