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

Python实现含子列表的主列表无重复项全组合求解

Python生成嵌套列表的笛卡尔积组合

给定嵌套列表:

main_list = [['Orange', 'Banana'], ['Blue', 'Yellow', 'Green'], ['Bike'], ['Ocean', 'Sky']]

需要生成所有满足以下条件的组合:每个结果子列表包含4个元素,分别取自原主列表的不同子列表(每个子列表选一个元素)。

解决方案:使用itertools.product

Python标准库中的itertools.product可以直接计算多个可迭代对象的笛卡尔积,完美匹配需求。代码如下:

import itertools

main_list = [['Orange', 'Banana'], ['Blue', 'Yellow', 'Green'], ['Bike'], ['Ocean', 'Sky']]
# 计算笛卡尔积并转换为列表的列表
result = [list(combination) for combination in itertools.product(*main_list)]

# 打印结果
for item in result:
    print(item)

代码说明

  • itertools.product(*main_list):通过*解包原主列表,将每个子列表作为独立参数传入product,函数会生成所有可能的元素组合(每个组合是元组)。
  • 列表推导式[list(combination) ...]:将每个元组转换为列表,得到预期的嵌套列表格式。

运行代码后得到的结果与你给出的预期结果完全一致,共生成12个组合(2×3×1×2=12)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:47:19