파이썬 리스트와 튜플의 차이점
정의와 기본 특징
리스트(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 라이센스를 따릅니다.