需求:将一个列表中的部分元素拆解后插入到该列表中
拆解前:
其它电容 Other Capacitor | 铝电解电容;100uF;±20%;16V;6.3*5.7mm | VEJ101M1CTR-0605 |
['其它电容 Other Capacitor', '铝电解电容;100uF;±20%;16V;6.3*5.7mm', 'VEJ101M1CTR-0605']
将其中的第二个元素拆解后
['铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm']
再插入到该列表中,期望的结果是
['其它电容 Other Capacitor', '铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm', '铝电解电容;100uF;±20%;16V;6.3*5.7mm', 'VEJ101M1CTR-0605']
列表的插入有3种,都是插入元素,因此不能一下子插入很多元素,当然可以利用for循环一个个插入
- append():append()函数是在列表末尾添加元素append():
- extend():extend()函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- insert():insert()函数用于将制定对象插入列表的指定位置;语法为list.insert(index,obj)
因此方法1:利用for循环+insert() 循环插入单个元素
另外也可以用列表切片的方式插入
lineSplit = line[2].split(";") line[2:2]=lineSplit
达到最终的效果
['其它电容 Other Capacitor', '铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm', '铝电解电容;100uF;±20%;16V;6.3*5.7mm', 'VEJ101M1CTR-0605']
错误的方式有:
在的位置
如:line[2]= line[2].split(";")
这样会得到一个嵌套的列表如下
['其它电容 Other Capacitor', ['铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm'],'VEJ101M1CTR-0605']
注意列表及列表的元素。
直接将列表赋值给原列表元素所
测试程序
alist=[ '其它电容 Other Capacitor', ['铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm'],'VEJ101M1CTR-0605'] # sheet.append(alist) resultWorkBook.save("Tst.xlsx") print(alist) blist = ["1","A"] print(blist) alist[2:2]=blist print(alist)
['其它电容 Other Capacitor', ['铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm'], 'VEJ101M1CTR-0605']
['1', 'A']
['其它电容 Other Capacitor', ['铝电解电容', '100uF', '±20%', '16V', '6.3*5.7mm'], '1', 'A', 'VEJ101M1CTR-0605']