
지금 여기예요
4
547
고급 반복
‘튜플 컴프리헨션’은 어디에?
파이썬은 튜플, 리스트, 집합, 딕셔너리 네 개의 내장 자료구조를 제공합니다. 그런데 튜플만
컴프리헨션이 없어요.
왜죠?
‘
튜플 컴프리헨션
’
이라는 개념이 이치에 맞지 않기 때문입니다. 튜플은 바꿀 수 없는 자료구조, 즉
만든 다음에는 바꿀 수 없다는 사실을 기억하세요. 따라서 아래
IDLE
예제가 보여주는 것처럼
코드로 튜플의 값을 만들 수 없습니다.
새로운 빈 튜플을
만듭니다.
튜플에 동적으로
데이터 추가를
시도합니다.
튜플은 바꿀 수
없으므로 기존
튜플에 데이터를
추가할 수 없습니다.
‘
한 번 만들었으면 바꿀 수 없다
’
는 것이 기본 개념이므로 이상하거나 놀라운 사실도 없습니다.
이 사실 하나만으로도 튜플 컴프리헨션이 왜 없는지 의문이 풀립니다. 다음
>>>
프롬프트
예제 코드를 보세요. 두 번째 루프는 첫 번째 루프와 조금 다릅니다. 첫 번째 루프에 사용한
리스트컴프의 대괄호를 두 번째 루프에서는 괄호로 바꿨어요.
리스트의 값을 세 배로 만들어 출력하는
for 루프와 리스트 컴프리헨션 조합이에요.
대괄호로 감싼 코드는 리스트컴프라는
사실을 알고 있을 겁니다.
그러나 여길 보세요.
‘
튜플 컴프리헨션
’
이라는
것이 없다는 사실은 알지만 이 코드는 마치
‘
튜플 컴프리헨션
’
처럼 보이네요. 게다가