Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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_List - Fatal编程技术网

Python 如何在列表中获得特定的数字位置?

Python 如何在列表中获得特定的数字位置?,python,list,Python,List,是否有方法检索列表中的数字位置? 例如,在下面的代码中,我们可以得到最大数量的位置吗 a = [1, 2, 10, 5] print(index_max(a)) # 2 您可以使用索引方法: a.index(max(a)) # 2 或者,如果列表很长且不想重复两次,则可以使用max函数的关键参数: max(range(len(a)),key=lambda i:a[i]) # 2 这将查找最大索引(从范围(len(a))),但使用间接方法确定如何比较索引。因此,比较是基于每个索引的

是否有方法检索列表中的数字位置? 例如,在下面的代码中,我们可以得到最大数量的位置吗

a = [1, 2, 10, 5]
    
print(index_max(a))
# 2

您可以使用索引方法:

a.index(max(a)) # 2
或者,如果列表很长且不想重复两次,则可以使用max函数的关键参数:

max(range(len(a)),key=lambda i:a[i]) # 2
这将查找最大索引(从
范围(len(a))
),但使用间接方法确定如何比较索引。因此,比较是基于每个索引的值,而不是索引本身。结果是具有最高值的索引


有关max()函数的详细信息,请参见:

您可以使用index方法:

a.index(max(a)) # 2
或者,如果列表很长且不想重复两次,则可以使用max函数的关键参数:

max(range(len(a)),key=lambda i:a[i]) # 2
这将查找最大索引(从
范围(len(a))
),但使用间接方法确定如何比较索引。因此,比较是基于每个索引的值,而不是索引本身。结果是具有最高值的索引


有关max()函数的详细信息,请参见:

您可以使用
index
方法:

a.index(max(a))
另一种可能性是使用
枚举

>>> max(enumerate(a), key=operator.itemgetter(1))
(2, 10)
a = [1, 2, 10, 5, 10, 6]

>>> [i for i,x in enumerate(a) if x==max(a)]
[2, 4]

您可以使用
索引
方法:

a.index(max(a))
另一种可能性是使用
枚举

>>> max(enumerate(a), key=operator.itemgetter(1))
(2, 10)
a = [1, 2, 10, 5, 10, 6]

>>> [i for i,x in enumerate(a) if x==max(a)]
[2, 4]
你可以试试

>>> print(a.index(max(a)))
2
因此,您正在撬动最大数量列表中的索引位置,您可以尝试

>>> print(a.index(max(a)))
2

因此,您在最大数量的列表中撬动索引位置Python有一个名为
index()
的内置函数,可用于获取列表中元素的索引位置。在本例中,您可以编写
a.index(max(a))

Python有一个名为
index()
的内置函数,可用于获取列表中元素的索引位置。在这种情况下,您可以编写
a.index(max(a))

如果您有多个值可能是
max
,您可以使用
枚举

>>> max(enumerate(a), key=operator.itemgetter(1))
(2, 10)
a = [1, 2, 10, 5, 10, 6]

>>> [i for i,x in enumerate(a) if x==max(a)]
[2, 4]
或者,如果希望包含该值:

>>> [(i,x) for i,x in enumerate(a) if x==max(a)]
[(2, 10), (4, 10)]

如果有多个值可能是
max
,则可以使用
enumerate

>>> max(enumerate(a), key=operator.itemgetter(1))
(2, 10)
a = [1, 2, 10, 5, 10, 6]

>>> [i for i,x in enumerate(a) if x==max(a)]
[2, 4]
或者,如果希望包含该值:

>>> [(i,x) for i,x in enumerate(a) if x==max(a)]
[(2, 10), (4, 10)]

对不起,我在手机上,很难键入代码块:(对不起,我在手机上,很难键入代码块:(
max(range(len(a)),key=lambda I:a[I])
非常出色,但值得一点解释
a.argmax()如果
a
是一个numpy数组,
将直接给出最高值的索引。@dawg
max
的第一个参数是要迭代的元素列表。
max
有一个可选的键参数,该参数是一个函数,它获取列表中元素的值并返回一个可用于比较的数字子。该函数返回的值将用于确定列表中哪个元素的最大值。使用键函数确定最大元素后,
max
返回该元素。传递给max的第一个参数是
range(len(a))
,它返回从0到len(a)的列表-1,这是列表a的索引。@dawg关键函数只是从列表a
中获取索引i
处的值。因此它使用该值从传递到
max
的第一个参数中确定max元素,该参数恰好是列表a的索引。这有意义吗?我的意思不是为了向我解释,我的意思是在答案中添加
max(range(len(a)),key=lambda I:a[I])
非常出色,但值得一点解释
a.argmax()如果
a
是一个numpy数组,
将直接给出最高值的索引。@dawg
max
的第一个参数是要迭代的元素列表。
max
有一个可选的键参数,该参数是一个函数,它获取列表中元素的值并返回一个可用于比较的数字子。该函数返回的值将用于确定列表中哪个元素的最大值。使用键函数确定最大元素后,
max
返回该元素。传递给max的第一个参数是
range(len(a))
,它返回从0到len(a)的列表-1,这是列表a的索引。@dawg关键函数只是从列表a中获取索引i处的值。因此它使用该值从传递到
max
的第一个参数中确定max元素,该参数恰好是列表a的索引。这有意义吗?我的意思不是为了向我解释,我的意思是补充答案