要完成的操作是把一個列表里的元素通過for循環添加到另外一個列表里,但是通過insert()方法添加到另外一個列表后卻發現元素的位置與原始列表的顛倒了。
如以下實例:
li1 = ['1','2','3','4','5'] li2 = [] for item in li1: li2.insert(0,item) # 因為每次循環元素都是從下標為0的位置插入,所以最后插入的元素'5'肯定在列表的最前邊 print(li2)
執行結果:
['5', '4', '3', '2', '1']
從以上代碼發現,新list的元素排序位置是5、4、3、2、1,而我想展示的效果是1、2、3、4、5。 辦法有很多種,以下列舉一二。
print('------------------分隔符-------------------') li3 = ['1','2','3','4','5'] li4 = [] for item in li3: li4.insert(len(li1),item) #使元素每次都插入到列表的最后一個位置,最后一個位置的索引值使用len(li1)即可表示 print(li4) print('------------------分隔符-------------------') li5 = ['1','2','3','4','5'] li6 = [] li5.reverse() # 將原始列表進行位置反轉,這樣新添加的列表即可與原始位置相同了。 for item in li5: li6.insert(0,item) print(li6) print('------------------分隔符-------------------') li7 = ['1','2','3','4','5'] li8 = [] for item in li7: li8.append(item) # 這種方法最簡單,不使用insert()方法,直接使用apend()方法,即每次都自動添加在列表最后。 print(li8)
執行結果:
------------------分隔符------------------- ['1', '2', '3', '4', '5'] ------------------分隔符------------------- ['1', '2', '3', '4', '5'] ------------------分隔符------------------- ['1', '2', '3', '4', '5']