Python/기본

[Python] 자료구조 (리스트, 튜플, 딕셔너리, 세트)

댕주 2024. 11. 9. 13:58

Python은 여러 가지 내장 자료구조를 제공해서 데이터 저장, 접근, 수정 등을 쉽게 할 수 있다. 주요 자료 구조는 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 세트(Set) 가 있다


1. 리스트(List)

  • 정의: 리스트는 순서가 있는 변경 가능한 데이터 구조로, 여러 요소를 저장할 수 있다
  • 생성 방법: 대괄호 [] 를 사용하거나 list() 함수를 사용한다
  • 특징:
    - 순서가 있어서 인덱스로 접근할 수 있다
    - 요소를 추가, 삭제, 수정할 수 있다
  • 사용 예시
fruits = ["apple", "banana", "cherry"]
fruits.append("orange") # 요소 추가
fruits[1] = "blueberry" # 요소 수정

 

2. 튜플 (Tuple)

  • 정의: 튜플은 순서가 있는 변경 불가능한 데이터 구조이다
  • 생성 방법: 소괄호 () 를 사용하거나 tuple() 함수를 사용한다
  • 특징:
    - 변경이 불가능하여, 요소를 추가, 삭제, 수정할 수 없다
    - 주로 데이터의 안전한 저장이 필요할 때 사용한다
  • 사용 예시
coordinates = (10, 20)
coordinates[0] = 15 # 오류

 

3. 딕셔너리 (Dictionary)

  • 정의: 딕셔너리는 키-값 쌍으로 데이터를 저장하는 자료구조이다
  • 생성 방법: 중괄호 {} 를 사용하거나 dict() 함수를 사용한다
  • 특징:
    - 키를 통해 값에 접근하며, 순서는 Python 3.7부터 유지된다
    - 키는 고유해야 하며, 변경할 수 없다
    - 요소를 빠르게 조회하거나 수정할 수 있다
person = {"name": "Alice", "age": 25}
person["age"] = 26 # 값 수정
person["city"] = "New York" # 새로운 키-값 쌍 추가

 

4. 세트 (Set)

  • 정의: 세트는 순서가 없고, 중복을 허용하지 않는 데이터 구조이다
  • 생성 방법: 중괄호 {} 를 사용하거나 set() 함수를 사용한다
  • 특징:
    - 순서가 없어서 인덱스로 접근할 수 없다
    - 중복 요소를 자동으로 제거하므로, 고유한 값만 저장하고자 할 때 유용하다
numbers = {1, 2, 3, 4, 5}
# {1, 2, 3, 4, 5}
numbers.add(6)

각 자료구조의 선택 기준

  • 리스트: 순서가 중요하고, 데이터의 추가/삭제가 빈번한 경우
  • 튜플: 데이터가 변하지 않도록 보장할 때
  • 딕셔너리: 고유한 키를 사용하여 빠르게 데이터를 조회할 때
  • 세트: 중복 제거가 필요하거나 집합 연산(합집합, 교집합 등)이 필요할 때

'Python > 기본' 카테고리의 다른 글

[Python] lambda  (0) 2024.11.09
[Python] enumerate  (0) 2024.11.09
[Python] sorted() 함수  (0) 2024.11.09
[Python] 제너레이터 표현식  (0) 2024.11.09
[Python] 리스트 컴프리헨션(List Comprehension)  (1) 2024.11.09