1. 파이썬 컬렉션 타입 - 리스트
리스트는 여러 값을 순서대로 저장하며 변경이 가능하다.
li1 = [1, 3, 5, 7, 9]
print(li1) # [1, 3, 5, 7, 9]
print(type(li1)) # <class 'list'>
리스트는 다양한 타입을 함께 담을 수 있다.
li2 = list("python")
print(li2) # ['p', 'y', 't', 'h', 'o', 'n']
li3 = [10, 3.14, "abc", True]
print(li3) # [10, 3.14, 'abc', True]
print(type(li3[0])) # <class 'int'>
print(type(li3[1])) # <class 'float'>
print(type(li3[2])) # <class 'str'>
print(type(li3[3])) # <class 'bool'>
인덱싱과 슬라이싱을 지원한다.
li1 = [10, 20, 30, 40, 50]
print(li1[0]) # 10
print(li1[-1]) # 50
print(li1[1:4]) # [20, 30, 40]
print(li1[:3]) # [10, 20, 30]
print(li1[::2]) # [10, 30, 50]
print(li1[::-1]) # [50, 40, 30, 20, 10]
슬라이스 대입으로 여러 요소를 한 번에 교체할 수 있다.
li4 = [10, 20, 30, 40, 50]
li4[1:2] = ['😁', '😂', '😎', '😍']
print(li4) # [10, '😁', '😂', '😎', '😍', 30, 40, 50]
li4 = [10, 20, 30, 40, 50]
del li4[1]
print(li4) # [10, 30, 40, 50]
결합과 반복 연산을 사용할 수 있다.
li5 = [10, 20, 30]
li6 = [40, 50, 60]
print(li5 + li6) # [10, 20, 30, 40, 50, 60]
print(li5 * 2) # [10, 20, 30, 10, 20, 30]
li5 = [10, 20, 30]
li6 = li5 + [40, 50, 60]
print(li6) # [10, 20, 30, 40, 50, 60]
정렬과 뒤집기를 제공한다.
li7 = [3, 1, 2]
li7.sort()
print(li7) # [1, 2, 3]
li7.reverse()
print(li7) # [3, 2, 1]
요약: 순서가 있고 변경 가능한 시퀀스로, 인덱싱·슬라이싱·슬라이스 대입·정렬 등 기본 연산을 지원한다.
2. 파이썬 컬렉션 타입 - 튜플
튜플은 순서가 있으나 변경할 수 없다.
tu1 = ()
print(tu1) # ()
print(type(tu1)) # <class 'tuple'>
tu1 = (1,)
print(type(tu1)) # <class 'tuple'>
인덱싱과 슬라이싱을 지원한다.
tu2 = (10, 20, 30)
print(tu2[0]) # 10
print(tu2[-1]) # 30
print(tu2[1:3]) # (20, 30)
불변이므로 새 튜플을 만들어 확장한다.
tu3 = (1, 2, 3)
tu3 = tu3 + (4,)
print(tu3) # (1, 2, 3, 4)
단일 요소 튜플은 쉼표가 필요하다.
x = (5,)
print(type(x)) # <class 'tuple'>
y = (5)
print(type(y)) # <class 'int'>
요약: 순서가 있으나 변경이 불가능하며, 필요 시 새 튜플로 재구성한다.
3. 파이썬 컬렉션 타입 - 딕셔너리
딕셔너리는 키-값 쌍을 저장한다.
dic1 = {}
print(dic1) # {}
print(type(dic1)) # <class 'dict'>
dic2 = {'userid': 'user01', 'hp': '010-1111-1111'}
print(dic2) # {'userid': 'user01', 'hp': '010-1111-1111'}
dic3 = dict(userid='user02', hp='010-2222-2222')
print(dic3) # {'userid': 'user02', 'hp': '010-2222-2222'}
print(dic3['userid']) # 'user02'
print(dic3['hp']) # '010-2222-2222'
추가·변경·삭제를 지원한다.
dic4 = {1: 'apple'}
print(dic4) # {1: 'apple'}
dic4[100] = 'banana' # 추가
print(dic4) # {1: 'apple', 100: 'banana'}
dic4[50] = 'melon' # 추가
print(dic4) # {1: 'apple', 100: 'banana', 50: 'melon'}
del dic4[100] # 삭제
print(dic4) # {1: 'apple', 50: 'melon'}
키, 값, 항목을 조회한다.
print(dic4.keys()) # dict_keys([1, 50])
print(dic4.values()) # dict_values(['apple', 'melon'])
print(dic4.items()) # dict_items([(1, 'apple'), (50, 'melon')])
안전 조회는 get()을 사용한다.
print(dic4.get(1)) # 'apple'
print(dic4.get(999)) # None
print(dic4.get(999, 'NA')) # 'NA'
요약: 키를 통해 값을 저장·검색하며, 추가·변경·삭제와 키/값/항목 조회가 가능하다.
4. 파이썬 컬렉션 타입 - 세트
세트는 중복 없는 값을 저장하며 순서를 보장하지 않는다.
s1 = {} # 값이 없으면 딕셔너리로 인식
print(type(s1)) # <class 'dict'>
s2 = set()
print(type(s2)) # <class 'set'>
li6 = [1, 3, 5, 7, 7, 10, 7]
print(li6) # [1, 3, 5, 7, 7, 10, 7]
s6 = set(li6)
print(s6) # {1, 3, 5, 7, 10}
print(list(s6)) # [1, 3, 5, 7, 10] (순서는 임의)
요소 추가·삭제 및 집합 연산을 지원한다.
s1 = {1, 3, 5, 7}
print(s1) # {1, 3, 5, 7}
s1.add(2)
print(s1) # {1, 2, 3, 5, 7}
s1.add(4)
print(s1) # {1, 2, 3, 4, 5, 7}
s1.add(7) # 중복 추가 무시
print(s1) # {1, 2, 3, 4, 5, 7}
집합 연산 예시:
A = {1, 2, 3}
B = {3, 4, 5}
print(A | B) # {1, 2, 3, 4, 5}
print(A & B) # {3}
print(A - B) # {1, 2}
print(B - A) # {4, 5}
요약: 중복 없는 원소의 모음으로, 포함 검사와 집합 연산에 적합하다.
'KDT 수업 > 파이썬 공부' 카테고리의 다른 글
| 내가 보려고 만든 파이토치(Pytorch) 정리 (0) | 2026.03.18 |
|---|---|
| 내가 보려고 만든 MatPlotLib 정리 (0) | 2026.03.12 |
| 내가 보려고 만든 크롤링 정리 (0) | 2026.03.12 |
| 내가 보려고 만든 판다스 정리 (0) | 2026.03.12 |
| 내가 보려고 만든 NumPy 정리 (1) | 2026.03.12 |