Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何查找列表的索引';麦克斯是谁?_Python - Fatal编程技术网

Python 如何查找列表的索引';麦克斯是谁?

Python 如何查找列表的索引';麦克斯是谁?,python,Python,有一份清单: a= [5,6,8,4] 我试图通过键入类似以下内容来查找索引:a.index(max(a)),但它不起作用 它没有打印“3”,而是打印了“0” 它为什么会这样做,我如何修复它?您的示例运行良好: >>> a = [5, 6, 8, 4] >>> a.index(max(a)) 2 如果您想避免多次查看列表,您可能需要使用以下内容: >>> a = [5, 6, 8, 4] >>> max(enumerat

有一份清单:

a= [5,6,8,4]
我试图通过键入类似以下内容来查找索引:a.index(max(a)),但它不起作用

它没有打印“3”,而是打印了“0”


它为什么会这样做,我如何修复它?

您的示例运行良好:

>>> 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
此外,正如评论中所指出的,您还可以使用:


它应该正在打印正确的“2”。
a.index(max(a))
。你能展示一个完整的程序来演示你的问题吗?对不起,不是3,而是2是的,索引是基于0的,所以列表中
8
的索引是
2
,而不是
3
。O我知道问题在哪里。列表中没有数字,只有字符串。您还可以执行
max(枚举(a),key=operator.itemgetter(1))[0]
>>> 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