获取列表中元素的索引(python)

时间:2014-11-27 06:42:04

标签: python list indexing

不明白为什么在下一个例子中获取列表中元素的索引有所不同:

list = [1, 1, 1, 4]

print list.index(list[3]) 

将预期3作为列表

中的索引第四个元素返回

list = [1, 1, 1, 1]

print list.index(list[3]) 

意外返回0.

有什么区别?这是python 3.3

4 个答案:

答案 0 :(得分:3)

list.index(x)始终返回第一场比赛的索引。在第一种情况下,第一次匹配在索引3处,即4在索引3处,而在第二种情况下,第一次匹配在索引0处,即1在索引0处.1也在索引1,2和3处。

答案 1 :(得分:0)

来自documentation

  

list.index(x)的

     

返回值为x的第一个项目列表中的索引。如果没有这样的项目,则会出错。

您将返回第一场比赛的索引。

答案 2 :(得分:0)

第一次使用列表作为变量名是不好的做法:

index search the element from the start of list, so in here you will get always 0:
>>> my_list = [1, 1, 1, 1]  
>>> my_list.index(1)
0
>>> my_list.index(my_list[3])
0

答案 3 :(得分:0)

list.index(n)将返回第一个' n'的索引。在'列表中#39; 所以在你的例子中

list = [1, 1, 1, 1] #list[3] will equal 1

所以list.index([3])list.index(1)将返回0,或列表中第一个1的索引。