我看到了使用a = [1,2,3], b = [4,5,6]
合并res = [*a, *b]
等列表的this解决方案。
假设我有一个子列表列表,例如ls = [a,b]
,是否可以执行res = [*i for i in ls]
之类的操作?
由于 SyntaxError: iterable unpacking cannot be used in comprehension
,该特定行无效。可以做类似的事吗?
如果没有,我如何轻松创建包含子列表中所有元素的列表?
使用python 3.5.3
答案 0 :(得分:3)
不,我不相信他们已经在理解中添加了对列表拆包的支持。
作为替代方案,您可以使用itertools.chain
:
>>> from itertools import chain
>>> list(chain.from_iterable([a, b]))
[1, 2, 3, 4, 5, 6]
或者,嵌套循环列表理解:
>>> [y for x in [a, b] for y in x]
[1, 2, 3, 4, 5, 6]