如何处理两个列表:将单个列表作为整体与另一列表元素拼接生成扁平列表
解决方案
一行代码实现
a = [5, 3, 7] b = [9, 4] c = [item for x in b for item in a + [x]]
逻辑说明
这段代码通过嵌套列表推导式直接生成扁平列表:
- 外层遍历列表
b中的每个元素x - 内层遍历
a + [x](即先放入a的全部元素,再放入当前x)的每个元素 - 最终按顺序收集所有元素,得到目标的扁平列表
[5,3,7,9,5,3,7,4]
可选替代方案(需导入模块)
如果偏好使用工具库,也可以借助itertools.chain实现:
from itertools import chain c = list(chain.from_iterable(a + [x] for x in b))
对比原尝试代码
你之前的代码逻辑较为绕弯,上面的方案直接对应需求逻辑,可读性和简洁性都更优。
内容的提问来源于stack exchange,提问作者Blo8
相关产品推荐
相关产品推荐

