我有这样的代码:
squares = []
for value in range(1, 5):
squares.insert(value+1,value**2)
print(squares)
print(squares[0])
print(len(squares))
输出是:
[1, 4, 9, 16]
1
4
因此,即使我要求 python 在索引“2”处插入“1”,它也会在第一个可用索引处插入。那么“插入”是如何做出决定的呢?
来自Python3 文档:
list.insert(i, x)
在给定位置插入项目。首先
参数是要在其之前插入的元素的索引,因此
a.insert(0, x) 在列表的前面插入,并且 a.insert(len(a),
x) 等价于 a.append(x)。
没有提到的是,您可以给出超出范围的索引,然后 Python 将追加到列表中。
如果你深入挖掘Python实现你会发现以下内容ins1
执行插入的函数:
if (where > n)
where = n;
所以基本上 Python 会将你的索引最大化到列表的长度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)