为什么插入函数会产生这个结果?

时间:2021-06-01 10:07:14

标签: python-3.x

my_list = [1, 2]

for v in range(2):
    my_list.insert(-1, my_list[v])
    
print(my_list)

结果指定 1, 1, 1, 2。为什么结果不是 1, 1, 2, 2 因为 for 循环中的 v 将是 0 = 1 和 1 = 2?

1 个答案:

答案 0 :(得分:0)

list.insert(index, val) 确定要插入的元素的索引。 因此,在您的第一次迭代中,您在 1 和 2 之间插入一个值。 您的新列表看起来像 [1,1,2]。 在下一次迭代中,您对更改后的列表进行操作,因此您使用新插入的 1,它现在位于 v=1。因此你的列表看起来像

[1,1,1,2]
 ^ 1 2 ^

这里 ^ 是原始值,1 和 2 是添加值的迭代。