我试着写了一些代码:

i = [1, 2, 3, 5, 8, 13]
j = []
k = 0

for l in i:
    j[k] = l
    k += 1

但是我得到一条错误消息,说IndexError: list赋值索引超出范围,指向代码的j[k] = l行。为什么会出现这种情况?我该怎么解决呢?


当前回答

我认为Python方法insert就是你要找的:

将元素x插入位置i。 list.insert (i (x)

array = [1,2,3,4,5]
# array.insert(index, element)
array.insert(1,20)

print(array)

# prints [1,20,2,3,4,5]

其他回答

你的另一个选择是初始化j:

j = [None] * len(i)
j.append(l)

同时也要避免使用小写的“L”,因为它们很容易与“1”混淆

你也可以使用列表推导式:

j = [l for l in i]

或者用下面的语句复制一份:

j = i[:]

也许你需要extend()

i=[1,3,5,7]
j=[]
j.extend(i)

我认为Python方法insert就是你要找的:

将元素x插入位置i。 list.insert (i (x)

array = [1,2,3,4,5]
# array.insert(index, element)
array.insert(1,20)

print(array)

# prints [1,20,2,3,4,5]