我正在尝试找到一种方法来创建一个数组,其中我将使用一组字符制作所有变体
给定A B C,我想拥有所有可能的n元素组合
例如
A A A B B
A B C A A
A B C A B
A B C B A
etc.
有什么功能可以给我这样的东西吗?
我查看了print list(itertools.permutations('ABC',5))
,但似乎不起作用,因为5比给定字符的数量大。
答案 0 :(得分:4)
我相信你要找的是product
:
list(product('ABC', repeat=5))
输出:
[('A', 'A', 'A', 'A', 'A'),
('A', 'A', 'A', 'A', 'B'),
('A', 'A', 'A', 'A', 'C'),
('A', 'A', 'A', 'B', 'A'),
('A', 'A', 'A', 'B', 'B'),
('A', 'A', 'A', 'B', 'C'),
('A', 'A', 'A', 'C', 'A'),
('A', 'A', 'A', 'C', 'B'),
...