파이썬 내장 데이터 구조 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
'Language > Python' 카테고리의 다른 글
| Python ) Reading and Writing Files : 파일 읽고 쓰는법 (0) | 2026.01.14 |
|---|---|
| Python ) Variable Naming (변수 명명법) (0) | 2026.01.13 |
| Python ) Class: Object, Attribute, Method (0) | 2026.01.11 |
| Python ) 디버깅 하는 법 (0) | 2026.01.11 |
| Python ) Scope 에 대해 (feat. global, nonlocal 키워드) (0) | 2026.01.10 |