개발관련
파이썬 강좌 5 - 자료구조
우원우
2024. 12. 20. 22:19
728x90
반응형
2024.12.20 - [개발관련] - 파이썬 강좌 4 - 함수
파이썬 강좌 4 - 함수
2024.12.20 - [개발관련] - 파이썬 강좌3 - 파이썬 제어문 파이썬 강좌3 - 파이썬 제어문2024.12.20 - [개발관련] - 파이썬 강좌 2 - 파이썬 기본 문법 3장: 파이썬 제어문1. 제어문의 개념제어문은 프로
woowonwoo.tistory.com
5장: 파이썬 자료구조
파이썬에서 자료구조는 데이터를 저장하고 조작하는 방식과 도구를 의미합니다.
자료구조는 데이터를 효율적으로 관리하고 활용하는 데 필수적입니다.
1. 자료구조의 종류
자료구조설명예제
리스트 | 순서가 있는 변경 가능한 자료형 | [1, 2, 3] |
튜플 | 순서가 있는 변경 불가능한 자료형 | (1, 2, 3) |
딕셔너리 | 키와 값 쌍으로 저장되는 자료형 | {"key": "value"} |
집합 | 순서가 없고 중복을 허용하지 않는 자료형 | {1, 2, 3} |
2. 리스트(List)
2.1 리스트의 특징
- 순서가 있습니다.
- 중복 데이터를 허용합니다.
- 데이터를 추가, 삭제, 수정할 수 있습니다.
2.2 리스트 기본 사용법
fruits = ["사과", "바나나", "체리"]
print(fruits[0]) # 출력: 사과
print(len(fruits)) # 출력: 3
2.3 리스트의 주요 메서드
- append: 항목 추가
fruits.append("포도")
print(fruits) # 출력: ['사과', '바나나', '체리', '포도']
- remove: 특정 항목 제거
fruits.remove("바나나")
print(fruits) # 출력: ['사과', '체리']
- sort: 정렬
fruits.sort()
print(fruits) # 출력: ['사과', '체리']
3. 튜플(Tuple)
3.1 튜플의 특징
- 순서가 있습니다.
- 데이터를 변경할 수 없습니다(불변).
- 메모리 사용량이 적습니다.
3.2 튜플 기본 사용법
numbers = (1, 2, 3)
print(numbers[1]) # 출력: 2
3.3 튜플의 활용
- 여러 값을 한 번에 반환할 때 유용합니다.
def swap(a, b):
return b, a
x, y = swap(1, 2)
print(x, y) # 출력: 2 1
4. 딕셔너리(Dictionary)
4.1 딕셔너리의 특징
- 키(Key)와 값(Value) 형태로 데이터를 저장합니다.
- 키는 고유하며, 값은 중복될 수 있습니다.
4.2 딕셔너리 기본 사용법
person = {"name": "바보", "age": 22}
print(person["name"]) # 출력: 바보
4.3 딕셔너리 주요 메서드
- keys: 키 목록 반환
print(person.keys()) # 출력: dict_keys(['name', 'age'])
- values: 값 목록 반환
print(person.values()) # 출력: dict_values(['바보', 22])
- update: 데이터 추가 및 수정
person.update({"job": "개발자"})
print(person) # 출력: {'name': '바보', 'age': 22, 'job': '개발자'}
5. 집합(Set)
5.1 집합의 특징
- 중복을 허용하지 않습니다.
- 순서가 없습니다.
5.2 집합 기본 사용법
numbers = {1, 2, 3, 3, 4}
print(numbers) # 출력: {1, 2, 3, 4}
5.3 집합의 주요 메서드
- add: 요소 추가
numbers.add(5)
print(numbers) # 출력: {1, 2, 3, 4, 5}
- remove: 요소 제거
numbers.remove(3)
print(numbers) # 출력: {1, 2, 4, 5}
- 집합 연산: 교집합, 합집합, 차집합
A = {1, 2, 3}
B = {3, 4, 5}
print(A & B) # 교집합: {3}
print(A | B) # 합집합: {1, 2, 3, 4, 5}
print(A - B) # 차집합: {1, 2}
6. 연습 문제
- 리스트 연습
numbers = [1, 2, 3, 4, 5]
numbers.append(6)
numbers.remove(3)
print(numbers) # 출력: [1, 2, 4, 5, 6]
- 튜플 연습
colors = ("red", "blue", "green")
print(colors[1]) # 출력: blue
- 딕셔너리 연습
student = {"name": "바보", "grade": "A"}
student["age"] = 25
print(student) # 출력: {'name': '바보', 'grade': 'A', 'age': 25}
- 집합 연습
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2) # 출력: {3}
7. 요약
- 리스트는 순서가 있고 데이터를 변경할 수 있습니다.
- 튜플은 변경이 불가능하며 메모리를 적게 사용합니다.
- 딕셔너리는 키-값 쌍으로 데이터를 저장하며, 키는 고유합니다.
- 집합은 중복을 허용하지 않으며 수학적 집합 연산이 가능합니다.
다음 장에서는 파이썬 파일 입출력을 배워보겠습니다! 😊
728x90
반응형