포스트

파이썬 리스트와 튜플의 차이점

정의와 기본 특징

리스트(list)와 튜플(tuple)은 파이썬의 대표적인 데이터 구조입니다. 둘 다 여러 개의 원소를 저장할 수 있지만, 몇 가지 중요한 차이점이 있습니다.

리스트(List)

  • list는 대괄호 []로 묶여 있습니다.
  • 원소를 추가, 삭제, 수정이 가능합니다. 이러한 속성을 ‘가변성(mutability)’이라고 부릅니다.
  • 예: [1, 2, 3, 4]

튜플(Tuple)

  • tuple은 소괄호 ()로 묶여 있습니다.
  • 원소를 추가, 삭제, 수정이 불가능합니다. 이러한 속성을 ‘불변성(immutability)’이라고 부릅니다.
  • 예: (1, 2, 3, 4)

사용 사례

리스트의 사용 사례

  • 데이터의 변경이 빈번한 경우
  • 리스트 내부의 원소 순서를 변경해야 하는 경우
  • 동적으로 데이터를 추가하거나 삭제해야 하는 경우

튜플의 사용 사례

  • 데이터의 변경이 없어야 하는 경우
  • 데이터를 다른 데이터 구조로 전달할 때 안전성이 필요한 경우
  • 딕셔너리의 키로 사용해야 하는 경우

성능 차이

리스트

  • 가변성 때문에 메모리 할당과 해제가 빈번하게 발생합니다.
  • 이로 인해 상대적으로 성능이 느릴 수 있습니다.

튜플

  • 불변성 때문에 메모리 할당과 해제가 덜 발생합니다.
  • 이로 인해 상대적으로 성능이 빠를 수 있습니다.

오류 예시

리스트와 튜플을 혼동하면 다음과 같은 오류가 발생할 수 있습니다.

  • TypeError: 'tuple' object does not support item assignment

이 오류는 튜플에 원소를 할당하려고 시도할 때 발생합니다.

결론

리스트와 튜플은 파이썬에서 데이터를 다루는 데 있어 기본적이지만 중요한 데이터 구조입니다. 둘 사이의 주된 차이점은 가변성과 불변성입니다. 상황과 필요에 따라 적절한 데이터 구조를 선택하면 효율적인 코드 작성이 가능합니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.