6

Below is my code

import itertools
a = [1,2,3]
for i in itertools.combination_with_replacement(a,3):
    print i

Output

(1, 1, 1),(1, 1, 2)
(1, 1, 3),(1, 2, 2)
(1, 2, 3),(1, 3, 3)
(2, 2, 2),(2, 2, 3)
(2, 3, 3),(3, 3, 3)

Only 10 result is print out, but by formula, it should be 3^3 = 27 output.

So may i know, how to get the other output?
Sincerely thank for your time and suggestion.

Karl Knechtel
  • 62,466
  • 11
  • 102
  • 153
Math
  • 81
  • 1
  • 2
  • 5

1 Answers1

15

You want cartesian product, not combinations.

import itertools
print list(itertools.product([1, 2, 3], repeat=3))
Paul Hankin
  • 54,811
  • 11
  • 92
  • 118