본문 바로가기
Python/Python FAQ

Python 왜 파이썬에는 튜플 내장(comprehension)이 없을까요?, Why is there no tuple comprehension in Python?

by 베타코드 2023. 10. 16.
반응형

질문


우리는 모두 알다시피, 리스트 컴프리헨션이 있습니다. 예를 들면

[i for i in [1, 2, 3, 4]]

그리고 딕셔너리 컴프리헨션이 있습니다. 예를 들면

{i:j for i, j in {1: 'a', 2: 'b'}.items()}

하지만

(i for i in (1, 2, 3))

는 제너레이터가 됩니다. tuple 컴프리헨션이 아닙니다. 그 이유는 무엇일까요?

제 추측은 tuple이 불변형(immutable)이기 때문인데, 이것이 정답인 것 같지는 않습니다.


답변


생성자 표현식을 사용할 수 있습니다:

tuple(i for i in (1, 2, 3))

하지만 괄호는 이미 생성자 표현식을 위해 사용되었습니다.

반응형

댓글