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

如何用Python实现嵌套列表的所有条件排列转换

实现方法

核心是使用Python标准库itertools.product计算多个列表的笛卡尔积,再将每个组合的元素拼接为字符串即可,完整代码如下:

import itertools

A = [['a', 'ae', 'oa'], ['a'], ['l'], ['y', 'i']]
B = [''.join(item) for item in itertools.product(*A)]

运行后输出的B和示例完全一致:

['aaly', 'aali', 'aealy', 'aeali', 'oaaly', 'oaali']

代码说明

  • itertools.product(*A):对A中所有子列表求笛卡尔积,返回所有元素组合的可迭代对象,每一个组合是对应位置元素组成的元组,比如第一个组合为('a', 'a', 'l', 'y')
  • ''.join(item):将组合元组中的所有字符串元素拼接为一个完整的字符串
  • 列表推导式遍历所有组合并拼接,最终得到目标列表B

如果不想依赖标准库,也可以用递归方式手动实现笛卡尔积计算,逻辑和上述方法一致,只是需要自己写循环生成所有组合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:54:05