繁体   English   中英

关于 python 中的 insert() 的一些问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM