반응형
질문
우리는 모두 알다시피, 리스트 컴프리헨션이 있습니다. 예를 들면
[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))
하지만 괄호는 이미 생성자 표현식을 위해 사용되었습니다.
반응형
댓글