본문 바로가기
Python/Python FAQ

Python 리스트 vs 튜플, 각각 언제 사용해야 하나요? [중복], List vs tuple, when to use each? [duplicate]

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

질문


파이썬에서는 언제 리스트를 사용하고 언제 튜플을 사용해야 할까요?

가끔 선택의 여지가 없을 때도 있습니다. 예를 들어

"hello %s you are %s years old" % x

이렇게 할 경우 x는 튜플이어야 합니다.

하지만 API를 디자인하고 데이터 유형을 선택할 수 있는 사람이라면 가이드라인은 무엇일까요?


답변


튜플은 고정 크기입니다. 반면에 리스트는 동적입니다.
다른 말로, 튜플불변이고 리스트가변입니다.

  1. 튜플에 요소를 추가할 수 없습니다. 튜플에는 append나 extend 메서드가 없습니다.
  2. 튜플에서 요소를 제거할 수 없습니다. 튜플에는 remove나 pop 메서드가 없습니다.
  3. 튜플에서 요소를 찾을 수 있습니다. 이는 튜플을 변경하지 않기 때문입니다.
  4. in 연산자를 사용하여 튜플에 요소가 있는지 확인할 수도 있습니다.

  • 튜플은 리스트보다 빠릅니다. 상수로 정의된 값의 집합을 정의하고 해당 값들을 반복만 할 경우, 리스트 대신 튜플을 사용하세요.

  • 변경할 필요가 없는 데이터를 "쓰기 보호"하는 것으로 코드를 안전하게 만들 수 있습니다. 리스트 대신 튜플을 사용하면 이 데이터가 상수임을 암시하는 assert 문이 있는 것처럼 작동하며, 이를 무시하려면 특별한 고려와 특정 함수가 필요합니다.

  • 일부 튜플은 사전의 키로 사용될 수 있습니다 (특히 문자열, 숫자 및 다른 튜플과 같은 불변 값이 포함된 튜플). 리스트는 변경 가능하기 때문에 절대로 사전의 키로 사용될 수 없습니다.

출처: Dive into Python 3

반응형

댓글