Python中如何在指定下标位置将一个列表的元素插入到另一个列表中
解决方案
Python 中可以直接用切片赋值的方式实现这个需求,不需要额外封装函数,语法非常简洁:
x = [1,2,3] y = [4,5,6] # 在x的下标1位置插入y的所有元素 x[1:1] = y print(x) # 输出 [1,4,5,6,2,3]
原理解释
- 切片
x[a:b]表示选取列表x中下标从a到b(左闭右开)的元素 - 当
a == b时,这个切片对应的就是列表中a下标对应的插入位置 - 直接对这个切片赋值为另一个可迭代对象时,会将可迭代对象的元素逐个拆开放入对应位置,不会产生嵌套
如果需要把插入后的结果存为新列表,不改动原列表,可以先复制原列表再操作:
x = [1,2,3] y = [4,5,6] list3 = x.copy() list3[1:1] = y print(list3) # 输出 [1,4,5,6,2,3] print(x) # 原列表不变,还是 [1,2,3]
内容的提问来源于stack exchange,提问作者Keshav Nair
相关产品推荐
相关产品推荐

