Python

[Python] itertools 이용하여 순열(permutations), 조합(combinations ) 리스트 만들기

SDeveloper 2020. 9. 9. 00:06
반응형

 

파이썬의 itertools 이용하여 순열, 조합 리스트를 만들어 보자.

 

아래의 코드는 숫자 형태의 리스트를 k개수 만큼 선택하여 순열 또는 조합의 결과를 다시 리스트로 리턴하는 코드이다.

 

* 숫자형태의 경우 map(str,리스트명)의 과정이 추가로 들어가야한다.

** k는 순열, 조합 시 선택할 원소의 개수이다.

 

 

1. 순열 리스트 만들기

 

from itertools import permutations

def solution(nums):
    k=len(nums)
    caseList = list(map(''.join, permutations(map(str, nums), k)))
    return answer

print(solution(nums=[3,1,2,3]))

>> ['31', '32', '33', '12', '13', '23']

 

2. 조합 리스트 만들기

from itertools import combinations

def solution(nums):
    k=len(nums)
    caseList = list(map(''.join, combinations(map(str, nums), k)))
    return answer

print(solution(nums=[3,1,2,3]))

>> ['31', '32', '33', '13', '12', '13', '23', '21', '23', '33', '31', '32']

 

 

반응형