[英]some questions about insert() in python
demo = []
for i in range(1,11):
demo.insert(-1,i)
print(demo)
结果是 [2, 3, 4, 5, 6, 7, 8, 9, 10, 1]
demo = []
for i in range(1,11):
demo.insert(0,i)
print(demo)
结果是 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
前一个代码块用于实现 append() 之类的东西。 显然,出了点问题。 但是,当我将索引从 -1 更改为 0 时,就像后面的代码块一样,似乎没问题。 我对此感到困惑。
-1
指的是最后一个元素的 position,但您实际上并不想在那里插入元素。 您想在最后一个元素之后的 position 处插入,而不是在最后一个元素的 position处插入。
如果你想用insert
做到这一点,你需要在索引len(demo)
处插入。 您不能使用负索引来完成此操作。
来自python 文档:
a.insert(0, x) 在列表的最前面插入,a.insert(len(a), x) 等价于 a.append(x)
旁注:更 Pythonic 的方法可能会使用list comprehensions ,所以如果您不熟悉这个概念,请看一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.