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

如何将二维Python列表转换为含所有组合字符串的一维列表

生成所有子列表元素组合的字符串

推荐方案:使用 itertools.product

Python 的 itertools.product 是处理这类笛卡尔积问题的最优解,它可以直接生成从每个子列表中选一个元素的所有组合。

代码实现:

import itertools

input_list = [['D', 'S'], ['A', 'M'], ['I', 'N'], ['C', 'F'], ['E', 'T']]
result = [''.join(combination) for combination in itertools.product(*input_list)]
print(result)

运行后会得到所有符合要求的字符串列表,比如 DAICE、DAICT、SMNFT 等都包含在内。

手动循环实现(无依赖)

如果不想用标准库,也可以用嵌套循环手动实现,但这种方式仅适用于子列表数量固定的场景:

input_list = [['D', 'S'], ['A', 'M'], ['I', 'N'], ['C', 'F'], ['E', 'T']]
result = []

for a in input_list[0]:
    for b in input_list[1]:
        for c in input_list[2]:
            for d in input_list[3]:
                for e in input_list[4]:
                    result.append(a + b + c + d + e)

print(result)

这种方法的局限性很明显——如果子列表的个数变化,你得同步修改循环嵌套的层数,所以不推荐在实际项目中使用,除非是为了理解底层逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:15:57