우리의 IT
파이썬 - 컬렉션 자료형 본문
✅ 파이썬 - 컬렉션 자료형 (Collection Data Types)
파이썬의 컬렉션 자료형은 여러 개의 데이터를 저장하고 관리할 수 있는 자료구조입니다.
컬렉션 자료형에는 **문자열(str), 리스트(list), 튜플(tuple), 세트(set), 딕셔너리(dict)**가 포함됩니다.
🔵 1. 문자열 (str)
📌 문자의 집합으로, 변경 불가능한(Immutable) 자료형
✅ 특징
- 순서(인덱스)가 있음
- 수정 및 변경 불가능
- 문자 하나 또는 여러 개 저장 가능
- 다양한 문자열 함수 제공
✅ 문자열 생성 및 기본 사용
s = "Hello, Python!"
print(s[0]) # 'H' (첫 번째 문자)
print(s[-1]) # '!' (마지막 문자)
print(s[7:]) # 'Python!' (7번째 문자부터 끝까지)
print(s[::-1]) # '!nohtyP ,olleH' (문자열 뒤집기)
✅ 문자열 함수
s = "hello world"
print(s.upper()) # 대문자로 변환: "HELLO WORLD"
print(s.lower()) # 소문자로 변환: "hello world"
print(s.replace("hello", "Hi")) # 문자열 치환: "Hi world"
print(s.split()) # 공백 기준 분리: ['hello', 'world']
print(s.find("w")) # 'w'의 위치 찾기: 6
print(len(s)) # 문자열 길이: 11
✅ 문자열은 변경 불가능(Immutable)
s[0] = "H" # TypeError 발생! (문자열 수정 불가능)
🔵 2. 리스트 (list)
📌 여러 개의 데이터를 순서대로 저장할 수 있는 가변형 자료구조
✅ 특징
- 순서(인덱스)가 있음
- 중복 데이터 저장 가능
- 수정(변경) 가능
- 다양한 자료형을 함께 저장 가능
✅ 리스트 생성 및 기본 사용
lst = [1, 2, 3, "hello", 3.14]
print(lst[0]) # 1 (첫 번째 요소)
print(lst[-1]) # 3.14 (마지막 요소)
print(lst[1:3]) # [2, 3] (슬라이싱)
✅ 리스트 함수
lst.append(100) # 값 추가
lst.remove(2) # 값 제거
lst.insert(1, 50) # 1번 인덱스에 50 삽입
lst.sort() # 정렬 (숫자 정렬 가능)
lst.reverse() # 역순 정렬
print(lst)
✅ 출력 예시
[100, 50, 3, 'hello', 3.14]
🔵 3. 튜플 (tuple)
📌 리스트와 유사하지만, 값 변경이 불가능한 자료형
✅ 특징
- 순서(인덱스)가 있음
- 중복 데이터 저장 가능
- 수정 및 삭제 불가능 (불변성)
- 리스트보다 속도가 빠름
✅ 튜플 생성 및 사용
tup = (1, 2, 3, "hello", 3.14)
print(tup[0]) # 1
print(tup[-1]) # 3.14
print(tup[1:3]) # (2, 3)
✅ 튜플은 값 변경 불가
tup[0] = 100 # TypeError 발생! (튜플은 변경 불가능)
✅ 튜플의 장점
- 변경이 불가능하여 안전함
- 리스트보다 메모리 사용량이 적음
- 데이터 보호에 유리함
🔵 4. 세트 (set)
📌 중복을 허용하지 않고, 순서가 없는 자료형
✅ 특징
- 순서가 없음 (인덱싱 불가능)
- 중복 데이터 허용 안 됨
- 집합 연산 가능 (합집합, 교집합 등)
✅ 세트 생성 및 기본 사용
s = {1, 2, 3, 3, 4, 4, 5}
print(s) # {1, 2, 3, 4, 5} (중복 제거됨)
s.add(10) # 요소 추가
s.remove(2) # 요소 제거
print(s)
✅ 출력 예시
{1, 3, 4, 5, 10}
✅ 집합 연산
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
print(s1 | s2) # 합집합 {1, 2, 3, 4, 5, 6}
print(s1 & s2) # 교집합 {3, 4}
print(s1 - s2) # 차집합 {1, 2}
✅ 출력 예시
{1, 2, 3, 4, 5, 6}
{3, 4}
{1, 2}
🔵 5. 딕셔너리 (dict)
📌 키-값(key-value) 형태로 데이터를 저장하는 자료형
✅ 특징
- 순서가 있음 (Python 3.7+ 이후부터)
- 키(key)는 중복 불가능, 값(value)은 중복 가능
- 값 변경 가능
- 빠른 데이터 조회 가능
✅ 딕셔너리 생성 및 기본 사용
d = {"name": "Alice", "age": 25, "city": "Seoul"}
print(d["name"]) # Alice
print(d.get("age")) # 25
d["age"] = 30 # 값 변경
d["job"] = "Engineer" # 새 키 추가
print(d)
✅ 출력 예시
{'name': 'Alice', 'age': 30, 'city': 'Seoul', 'job': 'Engineer'}
✅ 딕셔너리 함수
print(d.keys()) # dict_keys(['name', 'age', 'city', 'job'])
print(d.values()) # dict_values(['Alice', 30, 'Seoul', 'Engineer'])
print(d.items()) # dict_items([('name', 'Alice'), ('age', 30), ('city', 'Seoul'), ('job', 'Engineer')])
✅ 출력 예시
dict_keys(['name', 'age', 'city', 'job'])
dict_values(['Alice', 30, 'Seoul', 'Engineer'])
dict_items([('name', 'Alice'), ('age', 30), ('city', 'Seoul'), ('job', 'Engineer')])
🚀 정리
자료형 특징
| str | 문자열, 변경 불가능(Immutable) |
| list | 순서가 있고, 변경 가능 |
| tuple | 순서가 있고, 변경 불가능 |
| set | 중복을 허용하지 않음, 순서 없음 |
| dict | 키-값 쌍으로 이루어진 자료 |
✅ 파이썬의 컬렉션 자료형을 활용하면 데이터를 효과적으로 저장하고 처리할 수 있음! 🚀
'정보처리기사' 카테고리의 다른 글
| 파이썬 - 자료형 함수 (0) | 2025.03.27 |
|---|---|
| 파이썬 - 기본 자료형 (0) | 2025.03.27 |
| JAVA - 클래스 (0) | 2025.03.27 |
| JAVA - 배열 (0) | 2025.03.27 |
| C언어 - 포인터 (0) | 2025.03.27 |