最初のメソッド: 再帰
for item in list(perms([1, 2, 3,4])):
Print item
2 番目の方法: Python 標準ライブラリ
ソース コードは次のとおりです:
def perms(elements):
if len(elements) yield elements
else:
for perms(elements[1:]):
for i in range(len(elements)):
yield perm[:i] + elements[0:1] + perm[i:]
for item in list(perms([1, 2, 3,4])):
print item