每个元素的长度为n。 例如,如果我想列出X和Y的1次列表 那么=> ['X','Y']
2次: => [ 'XX,' YY”, 'XY', 'YX']
3次: => ['XXX','YYY','XYY','XYX','XXY','YYX'等......]
提前致谢!
答案 0 :(得分:3)
您正在寻找itertools.product
from itertools import product
for i in xrange(1, 4):
print ["".join(item) for item in product("01", repeat = i)]
# ['0', '1']
# ['00', '01', '10', '11']
# ['000', '001', '010', '011', '100', '101', '110', '111']
答案 1 :(得分:0)
我认为combination_with_replacement正是您所寻找的。这是0-5的示例。
from itertools import *
for i in range(5):
print(list(itertools.combinations_with_replacement("XY",i)))
输出:
[()]
[('X',), ('Y',)]
[('X', 'X'), ('X', 'Y'), ('Y', 'Y')]
[('X', 'X', 'X'), ('X', 'X', 'Y'), ('X', 'Y', 'Y'), ('Y', 'Y', 'Y')]
[('X', 'X', 'X', 'X'), ('X', 'X', 'X', 'Y'), ('X', 'X', 'Y', 'Y'), ('X', 'Y', 'Y', 'Y'), ('Y', 'Y', 'Y', 'Y')]