본문 바로가기
Language/Python

Python ) Built-in Data Structure

by nyum76 2026. 1. 12.

파이썬 내장 데이터 구조 4가지 (Built-in 4 Data Structures)

리스트 (List)

  • 기호: []
  • 가변성 (Mutable): 값 변경 가능
  • 인덱스 접근 가능 (Subscriptable): 인덱스 번호로 접근 가능
  • 중복 가능 (Not Unique)
  • 특징: .append() 메서드로 인해 메모리를 여유 있게 할당해 두어야 하므로(메모리 2개), 튜플보다 생성 속도가 느림
lst = [1, 2, 3]
lst.append(4) 
print(lst) # [1, 2, 3, 4]

 

딕셔너리 (Dictionary)

  • 기호: {} (Key: Value 쌍)
  • 가변성 (Mutable): 값 변경 가능
  • 인덱스 접근 가능 (Subscriptable): Key를 통해 접근
  • 순서 보장: 파이썬 3.7 버전부터 삽입 순서가 유지됨
  • 고유성 (Unique): Key는 중복될 수 없으나, Value는 중복 가능
dic = {
  "country": "KR",
  "city": "seoul"
}
print(dic) # {'country': 'KR', 'city': 'seoul'}

# 값 변경
dic['city'] = "busan"
print(dic) # {'country': 'KR', 'city': 'busan'}

# subscript : key 값으로 인덱스 접근하기
print(my_dictionary['city']) # busan

 

세트 (Set)

  • 기호: {}
  • 가변성 (Mutable): 세트 자체는 변경 가능(추가/삭제 가능)하나
  • 세트 내부의 개별 요소는 변경 불가능(Immutable)
  • 하지만 .add() (추가)와 .remove() (삭제)사용 가능
  • 인덱스 접근 불가 (Cannot subscript): 순서가 없으므로 인덱스로 접근할 수 없음
  • 고유성 (Unique): 중복 허용 안 함
my_set = {1, 2, 3}
# 또는 my_set = set((1, 2, 3))
print(my_set) # {1, 2, 3}

# 추가 및 삭제
my_set.add(4)
print(my_set) # {1, 2, 3, 4}

my_set.remove(4)
print(my_set) # {1, 2, 3}

 

리스트를 세트로 변환 후 다시 리스트로 변환: 중복값을 제거하기 위해

# 리스트를 세트로 변환 (중복 제거)
lst = [1,2,3,4,1,2,3,4]
print(set(lst)) # {1, 2, 3, 4} (중복이 제거됨)

# 세트를 다시 리스트로 변환
print(list(set(lst))) # [1, 2, 3, 4]
# 결과: 리스트에서 중복된 요소가 깔끔하게 제거됨!

 

튜플 (Tuple)

  • 기호: ()
  • 불변성 (Immutable): 한 번 생성되면 값을 변경하거나 추가할 수 없음
  • 성능: 리스트보다 생성 속도가 빠름
  • 특징: 중복 허용 (Not unique)
  • 인덱스 접근 가능 (Subscriptable): 인덱스 번호로 접근 가능
my_tuple = (1, 2, 3)
print(my_tuple) # (1, 2, 3)
print(my_tuple[2]) # 3