问题描述
input: ["A","B","C","D"]
我需要做的是根据给定长度创建这些字母的所有可能组合,例如:
L = 2
output: ["A","B"],["A","C"],"D"],["B",["C","D"]
L = 3
output: ["A","D"]
解决方法
这是您在 itertools 中可用的标准组合:
import itertools
characters = "ABCD"
print(list(itertools.combinations(characters,2)))
print(list(itertools.combinations(characters,3)))
您会发现其他有用的函数可用于在 itertools 中进行迭代,例如排列。
,您可以简单地使用 itertools 和 permutations。你将你的字符列表和排列的长度传递给它。
os.walk()
,
您可以使用 itertools.permutations
获取指定长度的排列。
from itertools import permutations
print(list(permutations(my_list,L)))