[問題] list的問題請教

作者: ntit5566 (ntit5566)   2019-10-29 10:31:57
目前才剛剛自學python,有一個關於陣列的問題,程式碼如下
num_list = [n for n in range(1, 11)]
num_list3 = []
for item in num_list:
num_list3.insert(0, item)
print(num_list3)
作者: charlie11438 (煞氣a查理)   2019-10-29 11:37:00
https://i.imgur.com/XPxj2pj.jpg這樣分解看會比較清楚。insert的用法是在索引的位置塞入值,所以insert(0,10)將會在索引為0的位置插入10。所以當原po的迴圈在執行時,會一直往0的位置塞,其他的會被擠到後面,才會呈現倒序的狀況
作者: penut85420 (PenutGGorz)   2019-10-29 12:00:00
改成 num3_list.append(item) 就會是往後面加了
作者: lixiaolong (斯文人)   2019-10-29 12:08:00
https://i.imgur.com/dyGIf30.jpg如同1樓查理大所說 如果item那個迴圈每跑一圈印一次的話 原po的原碼會跑出這樣的結果
作者: ntit5566 (ntit5566)   2019-10-29 12:11:00
瞭解,感謝兩位學長的答覆
作者: moodoa3583 (金牌台灣啤酒)   2019-10-29 12:16:00
.insert (位置,值),這是insert的用法,因為你的位置是0,所以新加進來的數就都會被加到list3的第一個位置,輸出結果就會是最後加進來的數在最前面。如果要照輸入順序加入的話如同樓上所說就用.append()
作者: wargods8402 (維尼X維尼)   2019-10-29 12:26:00
google一下就有答案了https://m.runoob.com/python/python-lists.html如果想知道運作過程 可以像樓上大大 寫個迴圈印出過程
作者: UCCUplz (你看看你)   2019-10-31 13:37:00
推個

Links booklink

Contact Us: admin [ a t ] ucptt.com