2016-08-25 80 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