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