Python 학습: 데이터 구조
Python은 다양한 데이터 구조를 제공하여 데이터를 효율적으로 저장하고 조작할 수 있습니다. 이번 글에서는 리스트, 튜플, 딕셔너리, 집합에 대해 알아보겠습니다.
1. 리스트: 리스트 생성, 접근, 수정
리스트는 여러 값을 저장할 수 있는 순서가 있는 컬렉션입니다. 리스트는 대괄호 []로 생성하며, 인덱스를 사용하여 요소에 접근하고 수정할 수 있습니다.
- 리스트 생성과 접근 예제
fruits = ["apple", "banana", "cherry"]
# 리스트 접근
print(fruits[0]) # apple 출력
print(fruits[1]) # banana 출력
print(fruits[2]) # cherry 출력
- 리스트 수정 예제
fruits[1] = "blueberry"
print(fruits) # ['apple', 'blueberry', 'cherry'] 출력
# 리스트에 요소 추가
fruits.append("orange")
print(fruits) # ['apple', 'blueberry', 'cherry', 'orange'] 출력
# 리스트에서 요소 제거
fruits.remove("blueberry")
print(fruits) # ['apple', 'cherry', 'orange'] 출력
리스트는 다양한 메서드를 통해 요소를 추가하거나 제거할 수 있습니다. append, remove, pop 등의 메서드를 사용하여 리스트를 조작할 수 있습니다.
2. 튜플: 튜플 생성, 접근
튜플은 리스트와 비슷하지만, 한 번 생성되면 수정할 수 없습니다. 튜플은 소괄호 ()로 생성하며, 인덱스를 사용하여 요소에 접근할 수 있습니다.
- 튜플 생성과 접근 예제
dimensions = (1920, 1080)
# 튜플 접근
print(dimensions[0]) # 1920 출력
print(dimensions[1]) # 1080 출력
튜플은 불변(immutable) 데이터 구조로, 생성된 후에는 요소를 변경할 수 없습니다. 따라서 튜플은 변경되지 않는 데이터의 저장에 적합합니다.
3. 딕셔너리: 키-값 쌍, 접근, 수정
딕셔너리는 키-값 쌍을 저장하는 컬렉션입니다. 딕셔너리는 중괄호 {}로 생성하며, 키를 사용하여 값에 접근하고 수정할 수 있습니다.
- 딕셔너리 생성과 접근 예제
person = {
"name": "Bob",
"age": 25,
"city": "New York"
}
# 딕셔너리 접근
print(person["name"]) # Bob 출력
print(person["age"]) # 25 출력
print(person["city"]) # New York 출력
- 딕셔너리 수정 예제
person["age"] = 26
print(person) # {'name': 'Bob', 'age': 26, 'city': 'New York'} 출력
# 딕셔너리에 키-값 쌍 추가
person["email"] = "bob@example.com"
print(person) # {'name': 'Bob', 'age': 26, 'city': 'New York', 'email': 'bob@example.com'} 출력
# 딕셔너리에서 키-값 쌍 제거
del person["city"]
print(person) # {'name': 'Bob', 'age': 26, 'email': 'bob@example.com'} 출력
딕셔너리는 keys, values, items 등의 메서드를 사용하여 키와 값을 쉽게 조작할 수 있습니다.
4. 집합: 집합 생성, 집합 연산
집합은 중복되지 않는 요소들의 컬렉션입니다. 집합은 중괄호 {} 또는 set() 함수를 사용하여 생성할 수 있습니다. 집합은 수학적 집합 연산을 지원합니다.
- 집합 생성 예제
numbers = {1, 2, 3, 4, 5}
print(numbers) # {1, 2, 3, 4, 5} 출력
# 빈 집합 생성
empty_set = set()
print(empty_set) # set() 출력
- 집합 연산 예제
numbers.add(6)
print(numbers) # {1, 2, 3, 4, 5, 6} 출력
# 집합에서 요소 제거
numbers.remove(3)
print(numbers) # {1, 2, 4, 5, 6} 출력
# 집합 연산
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 합집합
print(set1 | set2) # {1, 2, 3, 4, 5} 출력
# 교집합
print(set1 & set2) # {3} 출력
# 차집합
print(set1 - set2) # {1, 2} 출력
# 대칭 차집합
print(set1 ^ set2) # {1, 2, 4, 5} 출력
집합은 요소의 중복을 허용하지 않으며, 효율적인 데이터 조작을 위한 다양한 연산을 제공합니다.
이 글에서는 Python의 주요 데이터 구조인 리스트, 튜플, 딕셔너리, 집합에 대해 알아보았습니다. 이러한 데이터 구조를 이해하고 활용하면 Python 프로그래밍의 효율성을 크게 높일 수 있습니다. Happy Coding!
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 6. Python의 -예외 처리- (0) | 2024.06.18 |
---|---|
[Python] 5. Python의 -파일 입출력- (1) | 2024.06.17 |
[Python] 3. Python의 -함수- (0) | 2024.06.17 |
[Python] 2. Python의 -기본 문법- (0) | 2024.06.17 |
[Python] 1. Python의 -기초 개념- (1) | 2024.06.17 |