python - 如何从给定的 k 个字符中创建 n 个字符系列的所有组合的数组
python - how to create an array of all combinations of n character series out of k given characters
我正在尝试找到一种方法来创建一个数组,在该数组中,我将使用一组字符进行所有变体
给定 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 大于给定字符的数量。
我相信你要找的是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'),
...
我正在尝试找到一种方法来创建一个数组,在该数组中,我将使用一组字符进行所有变体
给定 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 大于给定字符的数量。
我相信你要找的是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'),
...