Let's say the number is 123.
Then the statement:
[int(''.join(x)) for x in permutations(list(str(123)))]
will create a sorted list of all possible numbers using '1','2' and '3'. which is, [123, 132, 213, 231, 312, 321]
What it is doing
The part, permutations(list(str('123'
is creating a permutatedtuples' list of splitted string '123'. And the int(''.join(x))
is converting each tuple to Integer.
However, of course, you need to import permutations from itertools
.
so, the generalized version would be:
from itertools import permutations
[int(''.join(x)) for x in list(permutations(list(str(n))))]
Python is fun. Isn't it?