如何找到列表的最大索引?

时间:2018-07-24 22:40:07

标签: python

有一个列表:

a= [5,6,8,4]

我试图通过键入类似a.index(max(a))的内容来查找索引,但是没有用。

不是打印“ 3”,而是打印了“ 0”。

为什么这样做,我该如何解决?

1 个答案:

答案 0 :(得分:2)

您的示例可以正常工作:

>>> a = [5, 6, 8, 4]
>>> a.index(max(a))
2

如果您想避免多次浏览列表,则可能需要使用类似的内容:

>>> a = [5, 6, 8, 4]
>>> max(enumerate(a), key=lambda a: a[1])[0]
2

如果这些整数实际上是字符串,它也可以工作:

>>> a = ['5', '6', '8', '4']
>>> a.index(max(a))
2
>>> max(enumerate(a), key=lambda a: a[1])[0]
2

此外,正如RoadRunner在评论中指出的那样,您也可以使用operator.itemgetter

>>> import operator
>>> a = [5, 6, 8, 4]
>>> max(enumerate(a), key=operator.itemgetter(1))[0]
2
>>> a = ['5', '6', '8', '4']
>>> max(enumerate(a), key=operator.itemgetter(1))[0]
2