Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 리스트(List) vs 튜플(Tuple) vs 딕셔너리(Dictionary): 핵심 차이점 완벽 정리

리스트(List)튜플(Tuple)은 순서가 있는 시퀀스(Sequence) 자료형입니다. 반면 딕셔너리(Dictionary)는 키(key)와 값(value) 쌍으로 구성된 해시 테이블 구조의 자료형입니다. 세 자료형 모두 파이썬 프로그래밍에서 가장 널리 사용되는 컬렉션 타입이지만, 각각의 특성과 용도가 분명히 다릅니다.

1. 가변성(Mutability)의 차이

리스트와 딕셔너리는 가변(mutable) 객체입니다. 즉, 생성된 이후에도 새로운 항목을 추가하거나 기존 항목을 수정·삭제할 수 있습니다. 반면 튜플은 불변(immutable) 객체이므로, 한 번 생성하면 항목을 추가하거나 삭제하는 작업이 불가능합니다.

2. 선언(생성) 방식

세 자료형 모두 쉼표로 구분된 항목들의 모음이라는 공통점이 있지만, 항목을 감싸는 괄호가 서로 다릅니다. 리스트는 대괄호 [], 튜플은 소괄호 (), 딕셔너리는 중괄호 {}를 사용합니다.

>>> L1 = [12, "Ravi", "B.Com FY", 78.50]   # 리스트
>>> T1 = (12, "Ravi", "B.Com FY", 78.50)   # 튜플
>>> D1 = {"Rollno": 12, "class": "B.Com FY", "percentage": 78.50}   # 딕셔너리

3. 인덱싱과 값 접근 방법

리스트와 튜플의 항목은 인덱스(index)로 관리됩니다. 슬라이스 연산자를 활용하면 특정 위치의 항목에 손쉽게 접근할 수 있습니다.

>>> print(L1[2])
B.Com FY
>>> print(T1[2])
B.Com FY

반면 딕셔너리의 항목은 인덱스가 아닌 키(key)를 기준으로 접근합니다. 대괄호 안에 키를 직접 넣거나, 딕셔너리에서 제공하는 get() 메서드를 사용하면 해당 키와 연결된 값을 반환받을 수 있습니다.

>>> print(D1['class'])
B.Com FY
>>> print(D1.get('class'))
B.Com FY

4. 한눈에 보는 비교 요약

구분리스트(List)튜플(Tuple)딕셔너리(Dictionary)
순서있음 (인덱스 기반)있음 (인덱스 기반)키 기반 저장
가변 여부가변 (수정 가능)불변 (수정 불가)가변 (수정 가능)
문법[ ]( ){ }
값 접근 방식인덱스인덱스키 또는 get()

5. 어떤 상황에서 어떤 자료형을 쓸까?

  • 리스트: 데이터를 자주 추가·삭제·수정해야 하는 경우에 적합합니다.
  • 튜플: 한 번 정하면 바뀌지 않는 고정 데이터(예: 좌표, 설정값)를 저장할 때 유용하며, 불변이므로 해시 가능(hashable)하여 딕셔너리의 키로도 사용할 수 있습니다.
  • 딕셔너리: 학번-이름처럼 키와 값의 매핑 관계가 필요한 데이터를 다룰 때 가장 효율적입니다.

세 자료형의 특성을 정확히 이해하고 있으면, 상황에 맞는 최적의 자료 구조를 선택하여 더 깔끔하고 효율적인 파이썬 코드를 작성할 수 있습니다.