반응형
파이썬의 주요 자료구조인 리스트, 튜플, 딕셔너리, 집합에 대해 설명해 드리겠습니다. 이 자료구조들은 파이썬 프로그래밍에서 매우 중요하며 자주 사용됩니다.
1. 리스트 (List)
- 순서가 있는 변경 가능한 집합입니다.
- 대괄호 []로 표현하며, 콤마로 요소를 구분합니다.
- 다양한 데이터 타입을 포함할 수 있습니다.
예시:
fruits = ['apple', 'banana', 'cherry'] numbers = [1, 2, 3, 4, 5] mixed = [1, 'hello', 3.14, True]
2. 튜플 (Tuple)
- 순서가 있는 변경 불가능한 집합입니다.
- 소괄호 ()로 표현하며, 콤마로 요소를 구분합니다.
- 한 번 생성되면 내용을 변경할 수 없습니다.
예시:
coordinates = (10, 20) rgb_color = (255, 0, 0)
3.딕셔너리 (Dictionary)
- 키-값 쌍으로 이루어진 변경 가능한 집합입니다.
- 중괄호 {}로 표현하며, 콜론(:)으로 키와 값을 구분합니다.
- 키는 고유해야 하며, 값에는 어떤 데이터 타입도 올 수 있습니다.
예시:
person = {'name': 'John', 'age': 30, 'city': 'New York'} scores = {'math': 90, 'science': 85, 'history': 95}
4.집합 (Set)
- 순서가 없고 중복을 허용하지 않는 변경 가능한 집합입니다.
- 중괄호 {}로 표현하거나 set() 함수를 사용하여 생성합니다.
- 수학적 집합 연산(합집합, 교집합, 차집합 등)을 지원합니다.
예시:
fruits_set = {'apple', 'banana', 'cherry'} numbers_set = set([1, 2, 3, 4, 5])
각 자료구조의 특징과 주요 연산을 간단히 정리해보겠습니다:
파이썬 자료구조 비교
특성 | 리스트 | 튜플 | 딕셔너리 | 집합 |
---|---|---|---|---|
문법 | [a, b, c] |
(a, b, c) |
{key1: value1, key2: value2} |
{a, b, c} |
순서 | O | O | X (파이썬 3.7+에서는 삽입 순서 유지) | X |
변경 가능 | O | X | O | O |
중복 허용 | O | O | 키는 고유, 값은 중복 가능 | X |
인덱싱 | O | O | 키로 접근 | X |
주요 연산 | append(), remove(), sort() | count(), index() | keys(), values(), items() | add(), remove(), union() |
사용 예시
리스트
fruits = ['apple', 'banana', 'cherry']
fruits.append('date')
fruits.remove('banana')
fruits.sort()
튜플
coordinates = (10, 20, 30)
x, y, z = coordinates # 언패킹
count = coordinates.count(10)
딕셔너리
person = {'name': 'John', 'age': 30}
person['job'] = 'Developer'
age = person.get('age')
for key, value in person.items():
print(f"{key}: {value}")
집합
fruits_set = {'apple', 'banana', 'cherry'}
fruits_set.add('date')
fruits_set.remove('banana')
other_set = {'cherry', 'date', 'elderberry'}
union_set = fruits_set.union(other_set)
각 자료구조는 특정 상황에 따라 적합한 용도가 있습니다. 데이터의 특성과 수행할 작업에 따라 적절한 자료구조를 선택하는 것이 중요합니다.
파이썬 자료구조 비교
특성 | 리스트 | 튜플 | 딕셔너리 | 집합 |
---|---|---|---|---|
문법 | [a, b, c] |
(a, b, c) |
{key1: value1, key2: value2} |
{a, b, c} |
순서 | O | O | X (파이썬 3.7+에서는 삽입 순서 유지) | X |
변경 가능 | O | X | O | O |
중복 허용 | O | O | 키는 고유, 값은 중복 가능 | X |
인덱싱 | O | O | 키로 접근 | X |
주요 연산 | append(), remove(), sort() | count(), index() | keys(), values(), items() | add(), remove(), union() |
사용 예시
리스트
fruits = ['apple', 'banana', 'cherry']
fruits.append('date')
fruits.remove('banana')
fruits.sort()
튜플
coordinates = (10, 20, 30)
x, y, z = coordinates # 언패킹
count = coordinates.count(10)
딕셔너리
person = {'name': 'John', 'age': 30}
person['job'] = 'Developer'
age = person.get('age')
for key, value in person.items():
print(f"{key}: {value}")
집합
fruits_set = {'apple', 'banana', 'cherry'}
fruits_set.add('date')
fruits_set.remove('banana')
other_set = {'cherry', 'date', 'elderberry'}
union_set = fruits_set.union(other_set)
각 자료구조는 특정 상황에 따라 적합한 용도가 있습니다. 데이터의 특성과 수행할 작업에 따라 적절한 자료구조를 선택하는 것이 중요합니다.
반응형