为什么我没有在这个名单中获得4?

时间:2016-08-25 01:39:01

标签: python python-3.x

my_list = [9,8,7]
for k in range (3):
    my_list.insert(-k,k+1)
print(my_list)

我得到了:[1,9,8,3,2,7] 我已经更改了插件并使用不同的数字进行了测试,并且不明白。我认为-1会插入列表的末尾。

3 个答案:

答案 0 :(得分:3)

未插入

4,因为您正在(k+1)上执行insert。 你打电话给range(3)range(3)返回[0, 1, 2]

所以,它永远不会到达4

如果您想在最后插入,请使用my_list.append(k)

答案 1 :(得分:2)

insert(i, x)函数在位置i之前的列表中插入值为x的新项。 my_list [-1]是结束元素,因此my_list.insert(-1,2)将在结束元素7之前插入。

for k in range (3): my_list.insert(-k,k+1) 

my_list.insert(0,1) --> my_list = [1, 9, 8, 7]
my_list.insert(-1,2) --> my_list = [1, 9, 8, 2, 7]
my_list.insert(-2,3) --> my_list = [1, 9, 8, 3, 2, 7]

答案 2 :(得分:0)

-1将插入到最后一个,如果您想在列表末尾插入,请使用your_list.append(val)