将现有列表合并到Python列表文字的中间
在Python中声明列表文字时,是否可以将现有列表合并到声明中?例如:将现有列表合并到Python列表文字的中间,python,list,merge,literals,list-literal,Python,List,Merge,Literals,List Literal,在Python中声明列表文字时,是否可以将现有列表合并到声明中?例如: l = [1, 2, 3] n = [10, 20, 30, l, 50, 60, 70] 其结果如下: [10, 20, 30, [1, 2, 3], 50, 60, 70] 请注意,列表l本身已作为单个元素添加,但我真正想要的是将l的元素单独添加到目标列表中,如下所示: [10, 20, 30, 1, 2, 3, 50, 60, 70] 从Python3.5开始,请参见PEP448,这可以使用Python的unpa
l = [1, 2, 3]
n = [10, 20, 30, l, 50, 60, 70]
其结果如下:
[10, 20, 30, [1, 2, 3], 50, 60, 70]
请注意,列表l本身已作为单个元素添加,但我真正想要的是将l的元素单独添加到目标列表中,如下所示:
[10, 20, 30, 1, 2, 3, 50, 60, 70]
从Python3.5开始,请参见PEP448,这可以使用Python的unpack运算符完成,该运算符在列表前是一个星号:
l = [1, 2, 3]
n = [10, 20, 30, *l, 50, 60, 70]
结果是:
[10, 20, 30, 1, 2, 3, 50, 60, 70]
这会在任何地方对我起作用
from itertools import chain
for i in n:
if isinstance(i, list):
b+=list(chain(i))
else:
b+=[i]
@谢谢你的提醒。你知道这是什么时候引入Python3的吗?找到了-它是在Python3.5AFAIR中引入的,Python3.5For python2.7使用这个解决方案,