首页 > 解决方案 > 生成多个字符串组合

问题描述

我有一个 n 个字母的列表作为字符串,例如:

input: ["A", "B", "C", "D"]

我需要做的是创建具有给定长度的这些字母的所有可能组合,例如,如果:

L = 2
output: ["A", "B"], ["A", "C"], ["A", "D"], ["B", "C"], ["B", "D"], ["C", "D"]

L = 3
output: ["A", "B", "C"], ["A", "B", "D"], ["A", "C", "D"], ["B", "C", "D"]

标签: pythoncombinationsitertools

解决方案


这是您在itertools中可用的标准组合:

import itertools

characters = "ABCD"
print(list(itertools.combinations(characters, 2)))
print(list(itertools.combinations(characters, 3)))

您会发现其他有用的函数可用于在 itertools 中进行迭代,例如排列。


推荐阅读