728x90
from itertools import permutations
def solution(mylist):
return list(permutations(sorted(mylist)))
def permute(arr):
result = [arr[:]]
c = [0] * len(arr)
i = 0
while i < len(arr):
if c[i] < i:
if i % 2 == 0:
arr[0], arr[i] = arr[i], arr[0]
else:
arr[c[i]], arr[i] = arr[i], arr[c[i]]
result.append(arr[:])
c[i] += 1
i = 0
else:
c[i] = 0
i += 1
return result
from itertools import permutations
pool = ['A', 'B', 'C']
print(list(map(''.join, permutations(pool))))
print(list(permutations(sorted(pool))))
# output
# ['ABC', 'ACB', 'BAC', 'BCA', 'CAB', 'CBA']
# [('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
728x90
'Pythonic' 카테고리의 다른 글
[파이썬을 파이썬답게] flag Or for-else (0) | 2021.03.08 |
---|---|
[파이썬을 파이썬답게] 가장 많이 등장하는 알파벳 찾기 (0) | 2021.03.08 |
[파이썬을 파이썬답게] 2d 리스트를 1d 리스트로 만들기 (0) | 2021.03.08 |
[파이썬을 파이썬답게] 곱집합 구하기 - itertools.product (0) | 2021.03.08 |
[파이썬을 파이썬답게] sequence 멤버를 하나로 이어붙이기 (0) | 2021.03.08 |
댓글