你可能在找
itertools.product
:
from itertools import product
[list(zip(x, item)) for x in product(states, repeat=3)]
[[(0, 'a'), (0, 'b'), (0, 'c')],
[(0, 'a'), (0, 'b'), (1, 'c')],
[(0, 'a'), (0, 'b'), (-1, 'c')],
[(0, 'a'), (1, 'b'), (0, 'c')],
[(0, 'a'), (1, 'b'), (1, 'c')],
[(0, 'a'), (1, 'b'), (-1, 'c')],
[(0, 'a'), (-1, 'b'), (0, 'c')],
[(0, 'a'), (-1, 'b'), (1, 'c')],
[(0, 'a'), (-1, 'b'), (-1, 'c')],
[(1, 'a'), (0, 'b'), (0, 'c')],
[(1, 'a'), (0, 'b'), (1, 'c')],
[(1, 'a'), (0, 'b'), (-1, 'c')],
[(1, 'a'), (1, 'b'), (0, 'c')],
[(1, 'a'), (1, 'b'), (1, 'c')],
[(1, 'a'), (1, 'b'), (-1, 'c')],
[(1, 'a'), (-1, 'b'), (0, 'c')],
[(1, 'a'), (-1, 'b'), (1, 'c')],
[(1, 'a'), (-1, 'b'), (-1, 'c')],
[(-1, 'a'), (0, 'b'), (0, 'c')],
[(-1, 'a'), (0, 'b'), (1, 'c')],
[(-1, 'a'), (0, 'b'), (-1, 'c')],
[(-1, 'a'), (1, 'b'), (0, 'c')],
[(-1, 'a'), (1, 'b'), (1, 'c')],
[(-1, 'a'), (1, 'b'), (-1, 'c')],
[(-1, 'a'), (-1, 'b'), (0, 'c')],
[(-1, 'a'), (-1, 'b'), (1, 'c')],
[(-1, 'a'), (-1, 'b'), (-1, 'c')]]
或者,还有
combinations_with_replacement()
:
from itertools import combinations_with_replacement
[list(zip(x, item)) for x in combinations_with_replacement(states, 3)]
[[(0, 'a'), (0, 'b'), (0, 'c')],
[(0, 'a'), (0, 'b'), (1, 'c')],
[(0, 'a'), (0, 'b'), (-1, 'c')],
[(0, 'a'), (1, 'b'), (1, 'c')],
[(0, 'a'), (1, 'b'), (-1, 'c')],
[(0, 'a'), (-1, 'b'), (-1, 'c')],
[(1, 'a'), (1, 'b'), (1, 'c')],
[(1, 'a'), (1, 'b'), (-1, 'c')],
[(1, 'a'), (-1, 'b'), (-1, 'c')],
[(-1, 'a'), (-1, 'b'), (-1, 'c')]]