import itertools
print(list(itertools.permutations([1,2,3])))
def permutations(s):
if len(s) <= 1:
yield s
else:
for i in range(len(s)):
for p in permutations(s[:i] + s[i+1:]):
yield s[i] + p
input = 'ABCD'
for permutation in enumerate(permutations(input)):
print repr(permutation[1]),
print
from itertools import permutations