不了解Python列表索引

时间:2016-01-20 05:59:59

标签: python python-3.x indexing printing

所以,我并不完全理解.index(),并且一直在乱用一段代码来尝试理解它,但它仍然没有点击我。

搞乱这个清单时:

myList = [5024,3,True,6.5,12,1,2,2,2]
print(myList)
print(myList.index(2))

打印出来:6 这个6来自哪里?

另一个例子:

myList = [5024,3,True,6.5,12,1,2,2,2]
print(myList)
print(myList.index(4))

此问题排除方式为:4 is not in list

但打印时:

myList = [5024,3,True,6.5,12,1,2,2,2]
print(myList)
print(myList.index(1))

打印:2

这是我不明白的。该程序是否计算此列表中有多少次出现1?如果是这种情况,则在此列表中尝试.index(2)时,会打印出6而不是5

这是怎么回事?

2 个答案:

答案 0 :(得分:4)

True被解释为1。

myList.index(value)返回value的第一个索引时,您将获得值:

>>> myList = [5024,3,True,6.5,12,1,2,2,2]
>>> myList.index(2)
6
>>> myList.index(1)
2

如果要在特定索引处查找值,请使用:

myList[index]

答案 1 :(得分:1)

Data Structures - 如果您需要更多信息,请阅读本文。

  

list.index(x)

     
    

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

  

您可以按索引访问列表中的元素。索引从0开始。 假设你有一个列表,让我们看看元素的索引:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] list_of_nums

[0 1 2 3 4 5 6 7 8 9 ]索引

因此,如果你使用list_of_nums.index(3),它将返回列表中第一次出现值为3的元素的索引,并且它是2

在您的情况下,myList.index(2)会返回第一次出现的值为2的元素6的索引。

myList.index(4)会返回'4 is not in list',因为列表中没有值为4的元素。 myList.index(1)会返回值为True的元素,因为它是第一次出现值为1True == 1False == 0的元素。

因此,如果您知道其值,就可以找到列表中任何元素的索引。 您还可以使用索引来获取这样的值: myList[1] - 3

我希望现在更清楚了。