You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何生成列表拼接形式的笛卡尔积结果

解决方法:拼接笛卡尔积中的子列表

你只需要在生成笛卡尔积之后,对每个元组里的子列表做拼接操作就行,Python里列表的+运算符正好能完成这个拼接工作,用列表推导式就能轻松实现:

import itertools
x = [[0,0],[1,1]]
# 遍历笛卡尔积的每个元素对,拼接两个子列表
final_result = [a + b for a, b in itertools.product(x, x)]
print(final_result)

运行这段代码就会输出你想要的结果:

[[0, 0, 0, 0], [0, 0, 1, 1], [1, 1, 0, 0], [1, 1, 1, 1]]

补充说明

如果后续你需要处理更多个可迭代对象的笛卡尔积(比如itertools.product(x, x, x)),可以用itertools.chain.from_iterable()来拼接任意数量的子列表,写法更通用:

final_result = [list(itertools.chain.from_iterable(item)) for item in itertools.product(x, x, x)]

不过针对你当前的场景,直接用a + b更直观也更高效。

内容的提问来源于stack exchange,提问作者lobsterism

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 15:52:27