为什么在关于 Python 列表的测验中,有这样一个代码:在列表的第三个位置插入一个值 (5)?
list1 = [11, 2, 23]
list1.insert(3,5)
print(list1)
难道不应该是 list1.insert(2,5) 因为,即使列表中的索引从 0 开始,第三个位置是,恕我直言,索引 2 ? 很抱歉这个可能是微不足道的问题(我是新手),但我认为当您询问列表中的第三个位置时,您不是指索引 3,而是指从左开始第三个位置的项目。
我尝试在 .insert() 中使用不同的值,但是,正如预期的那样,这并没有解决我的疑问
查看 python shell 帮助命令
>>> help(list1.insert)
insert(index, object, /) method of builtins.list instance
Insert object before index.
它插入到索引之前,而不是之后。如果你尝试
2
,它在索引 1 之后但在现有索引 2 之前,给你一个新的索引 2。如果你尝试 3
,它在 2 之后和 3 之前。但是因为没有 3,所以它只是放在清单的最后。
这一切都是有道理的。只要您在列表的当前范围内,“索引”就是插入后的索引。