개발관련

파이썬 강좌 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. 연습 문제

  1. 리스트 연습
numbers = [1, 2, 3, 4, 5]
numbers.append(6)
numbers.remove(3)
print(numbers)  # 출력: [1, 2, 4, 5, 6]
  1. 튜플 연습
colors = ("red", "blue", "green")
print(colors[1])  # 출력: blue
  1. 딕셔너리 연습
student = {"name": "바보", "grade": "A"}
student["age"] = 25
print(student)  # 출력: {'name': '바보', 'grade': 'A', 'age': 25}
  1. 집합 연습
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2)  # 출력: {3}

7. 요약

  1. 리스트는 순서가 있고 데이터를 변경할 수 있습니다.
  2. 튜플은 변경이 불가능하며 메모리를 적게 사용합니다.
  3. 딕셔너리는 키-값 쌍으로 데이터를 저장하며, 키는 고유합니다.
  4. 집합은 중복을 허용하지 않으며 수학적 집합 연산이 가능합니다.

다음 장에서는 파이썬 파일 입출력을 배워보겠습니다! 😊

728x90
반응형