Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 index()函数未返回正确的索引_Python_List - Fatal编程技术网

Python index()函数未返回正确的索引

Python index()函数未返回正确的索引,python,list,Python,List,假设我有一个数字列表,我想使用for循环打印每个元素的索引 test = [1, 2, 2, 4, 4] for x in test: print(test.index(x)) 当我运行代码时,它会打印“01 13 3”而不是“01 2 3 4”。这里发生了什么事?如果您查看,您可以了解索引的操作方式。此代码执行正确,因为index返回第一个索引,其中包含传递给方法的值 因此,在您的代码中,列表中有重复的值,第二次同时打印1和3,是因为2和4的第一个实例分别位于这些索引处。请阅读文

假设我有一个数字列表,我想使用for循环打印每个元素的索引

test = [1, 2, 2, 4, 4]

for x in test:
    print(test.index(x))

当我运行代码时,它会打印“01 13 3”而不是“01 2 3 4”。这里发生了什么事?

如果您查看,您可以了解
索引的操作方式。此代码执行正确,因为
index
返回第一个索引,其中包含传递给方法的值


因此,在您的代码中,列表中有重复的值,第二次同时打印
1
3
,是因为
2
4
的第一个实例分别位于这些索引处。

请阅读文档,看看
index
在做什么。您正在寻找
enumerate(test)
当您在test中对x进行计算时,您将得到数字1、2、2、4、4。。。index函数返回所提供值的第一个索引->列表的0、1、1、3、3元素不“知道”它们是列表的元素,特别是不知道是哪个元素。事实上,两个
2
s和两个
4
s都是完全相同的对象,实际上处于两个位置。这与对象不“知道”是否有名称和名称以及对象如何有1个、零个或多个名称没有什么不同。
test = [1, 2, 2, 4, 4]

for index, x in enumerate(test):
    print(index, x)