본문 바로가기
파이썬

파이썬 Python Itertools.Permutations ()

by º기록 2020. 9. 26.
반응형

itertools.permutations ()가 문자열을 반환하는 대신 각 순열에 대한 문자 또는 숫자 목록을 반환하는 이유는 무엇입니까?

예를 들면 :

>>> print([x for x in itertools.permutations('1234')])
>>> [('1', '2', '3', '4'), ('1', '2', '4', '3'), ('1', '3', '2', '4') ... ]

왜 이것을 반환하지 않습니까?

>>> ['1234', '1243', '1324' ... ]

 

해결 방법

 

itertools.permutations () 는 단순히 이런 방식으로 작동합니다. 임의의 이터 러블을 인수로 취하고 항상 튜플을 생성하는 이터레이터를 반환합니다. 특수한 경우의 문자열이 아닙니다. 문자열 목록을 얻으려면 언제든지 튜플을 직접 조인 할 수 있습니다.

list(map("".join, itertools.permutations('1234')))

 

참조 페이지 https://stackoverflow.com/questions/8113684

 

 

반응형

댓글