[问题] 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