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

Python中未知层数嵌套列表如何高效生成全元素组合

解决方案

直接使用Python标准库提供的itertools.product即可实现需求,该函数原生支持生成任意数量可迭代对象的笛卡尔积,不需要提前知道嵌套子列表的数量。

实现代码

import itertools

lst = [[0, 1, 2],
       [3],
       [4, 5]]

# 对嵌套列表解包后传入product,返回结果为元组迭代器,按需转为列表即可
result = [list(item) for item in itertools.product(*lst)]
print(result)
# 输出:[[0, 3, 4], [0, 3, 5], [1, 3, 4], [1, 3, 5], [2, 3, 4], [2, 3, 5]]

补充说明

  • 无需手动处理递归/多层循环逻辑,代码简洁易维护
  • 基于标准库C扩展实现,运行效率远高于手写Python逻辑
  • 支持惰性迭代:如果组合数量极大不需要一次性生成所有结果,可以直接遍历itertools.product(*lst)迭代器,避免占用过多内存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:48:03