要完成的操作是把一个列表里的元素通过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']