不明白为什么在下一个例子中获取列表中元素的索引有所不同:
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
答案 0 :(得分:3)
list.index(x)
始终返回第一场比赛的索引。在第一种情况下,第一次匹配在索引3处,即4在索引3处,而在第二种情况下,第一次匹配在索引0处,即1在索引0处.1也在索引1,2和3处。
答案 1 :(得分:0)
答案 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的索引。