반응형
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python에서 'argparse.ArgumentError'사용 (0) | 2020.09.26 |
---|---|
파이썬 pymongo로 mongodb를 정렬하는 방법 (0) | 2020.09.26 |
파이썬에서 공백에 문자열 분할 (0) | 2020.09.26 |
파이썬 특정 사용자 입력까지 반복 (0) | 2020.09.26 |
파이썬 Python 코드를 Arduino (Uno)로 "컴파일"하는 방법이 있습니까? (0) | 2020.09.26 |
댓글