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

Python实现三个字符串数组的笛卡尔积运算

实现三个数组的笛卡尔积并拼接字符串

给定三个字符串数组:

  • a = ['M', 'K', 'J']
  • b = ['B', 'C', 'D', 'T','A']
  • d = ['A','B','C','Z']

需要生成所有从三个数组各取一个元素拼接成的字符串(比如用a的'M'、d的'A'和b的每个元素组合得到MBA、MCA等),以下是两种Python实现方式:

方法1:使用itertools.product(简洁高效)

itertools.product可以直接生成多个可迭代对象的笛卡尔积,再通过字符串拼接得到结果:

import itertools

a = ['M', 'K', 'J']
b = ['B', 'C', 'D', 'T','A']
d = ['A','B','C','Z']

# 按a元素 → d元素 → b元素的顺序拼接,对应示例格式
result = [''.join((elem_a, elem_d, elem_b)) for elem_a, elem_b, elem_d in itertools.product(a, b, d)]

# 输出所有组合
for combo in result:
    print(combo)

方法2:嵌套循环(基础逻辑直观)

如果不想依赖标准库,可以用三层嵌套循环遍历所有元素组合:

a = ['M', 'K', 'J']
b = ['B', 'C', 'D', 'T','A']
d = ['A','B','C','Z']

result = []
for elem_a in a:
    for elem_d in d:
        for elem_b in b:
            result.append(elem_a + elem_d + elem_b)

# 输出所有组合
for combo in result:
    print(combo)

两种方法最终都会生成60种组合(3×5×4=60),完全覆盖所有可能的元素拼接结果。若需要调整元素拼接顺序,只需修改字符串拼接时的元素顺序即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:10:28