python - 如何使用k个给定字符创建n个字符系列的所有组合的数组

时间:2016-11-01 03:27:07

标签: python arrays combinations permutation variations

我正在尝试找到一种方法来创建一个数组,其中我将使用一组字符制作所有变体

给定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比给定字符的数量大。

1 个答案:

答案 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'),
 ...