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 |