为什么在位置0的列表中存储元素也将元素复制到位置-1?

时间:2014-01-10 12:04:04

标签: python list

如果我创建一个像这样的列表

list = [10]

然后10个存储在list[0],10也存储在list[-1]

为什么会这样?

1 个答案:

答案 0 :(得分:2)

因为对于长度为1的列表,索引-1 与索引0是相同的项

负指数被解释为从结尾算起;它们被翻译为len(listobject) - givenindex。对于样本列表,长度1减去1是索引0。

同样,对于长度为2的列表,-1与索引1相同,而-2与索引0相同。

也许最好用一张小桌子来说明这一点;列表长度为5:

+---+---+---+---+---+
| h | e | l | l | o |  # contents
+---+---+---+---+---+
| 0 | 1 | 2 | 3 | 4 |  # indices
+---+---+---+---+---+
|-5 |-4 |-3 |-2 |-1 |  # negative indices
+---+---+---+---+---+

您可以访问此列表中的e作为索引1和索引-4。