Python的一些数字排列

时间:2015-05-15 17:19:47

标签: python

我的代码:

a = [1,2,3]
import itertools
set(itertools.permutations(a))

我得到的输出为:

{(1, 3, 2), (3, 2, 1), (1, 2, 3), (2, 3, 1), (3, 1, 2), (2, 1, 3)}

有人可以告诉我如何打印数字:

123
321
132
312
213
231

2 个答案:

答案 0 :(得分:4)

根据您的代码:

import itertools

a=[1,2,3]
permutations = set(itertools.permutations(a))

for perm in permutations:
    print("%s%s%s" % perm)

但是你根本不需要使用set,所以解决方案(实际上更好的解决方案)也可以这样:

import itertools

a=[1,2,3]
for perm in itertools.permutations(a):
    print("%s%s%s" % perm)

答案 1 :(得分:1)

将子元素转换为字符串然后加入它们:

for perm in permutations:
    print ''.join(map(str, perm))