2016-08-25 77 views
0
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会插入列表的末尾。为什么我没有在这个列表中得到4?

+1

'范围(3)'只会从0变为2. – Ejaz

回答

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] 
+0

这个分解是明确的感谢。我也是从1开始,而不是0.谢谢 – todd2323

0

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

3

4之前插入,因为你在做insert(k+1)没有被插入。你叫range(3)range(3)返回[0, 1, 2]

所以,它永远不会到达4

而如果你想在最后插入使用my_list.append(k)来代替。

+0

感谢吉姆,注意到。 – cedzz