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

如何基于已有列表生成包含所有元素组合的嵌套列表?

生成嵌套列表元素的所有可能组合

问题说明

给定嵌套列表input_info_list,需生成新的嵌套列表,包含原列表各子列表元素的所有可能组合,每个组合为独立子列表,且组合内的每个元素需单独包裹在列表中。

示例输入:

input_info_list = [['corre', 'salta', 'dibuja'], ['en el bosque', 'en el patio'], ['2023-02-05 00:00 am', '2022-12-29 12:33 am _--_ 2023-01-25 19:13 pm']]

预期输出为题目中展示的12种组合形式。

解决方案

利用Python标准库itertools的product方法生成笛卡尔积,再对元素进行格式包装:

import itertools

input_info_list = [['corre', 'salta', 'dibuja'], ['en el bosque', 'en el patio'], ['2023-02-05 00:00 am', '2022-12-29 12:33 am _--_ 2023-01-25 19:13 pm']]

# 生成所有元素组合,并将每个元素包装为单元素列表
reordered_input_info_list = [[[item] for item in combo] for combo in itertools.product(*input_info_list)]

# 输出结果
print(reordered_input_info_list)

代码解释

  • itertools.product(*input_info_list):将输入的嵌套列表解包后,生成所有子列表元素的笛卡尔积,即所有可能的元素组合。
  • [[item] for item in combo]:遍历每个组合中的元素,将其单独包裹在列表中,匹配预期输出的格式。
  • 嵌套列表推导式可简洁高效地完成格式转换与组合生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:10:15