1. 딕셔너리(Dictionary)
1.1 딕셔너리란 무엇인가
딕셔너리(Dictionary)는 Python의 중요한 데이터 타입 중 하나로, 키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료구조입니다. 딕셔너리는 순서가 없으며, 키를 통해 값을 빠르게 찾을 수 있습니다. 중복된 키는 허용되지 않으며, 변경 가능한(mutable
) 자료형입니다.
student = {"name": "Alice", "age": 21, "grade": "A"}
1.2 딕셔너리 생성 및 사용법
딕셔너리는 중괄호 {}
를 사용해 생성하며, 각 요소는 키와 값으로 이루어져 있습니다.
person = {"name": "John", "age": 30}
print(person["name"]) # 출력: John
딕셔너리에서 특정 키에 접근하여 값을 가져올 수 있습니다.
1.3 키(key)와 값(value)의 추가, 수정, 삭제
요소 추가: 새로운 키와 값을 추가할 수 있습니다.
person["address"] = "Seoul"
print(person) # 출력: {'name': 'John', 'age': 30, 'address': 'Seoul'}
요소 수정: 기존 키의 값을 수정할 수 있습니다.
person["age"] = 35
print(person) # 출력: {'name': 'John', 'age': 35, 'address': 'Seoul'}
요소 삭제: del
을 사용하여 특정 키-값 쌍을 삭제할 수 있습니다.
del person["address"]
print(person) # 출력: {'name': 'John', 'age': 35}
1.4 딕셔너리 순회하기 (for문과 함께 사용)
딕셔너리를 for
문과 함께 사용하여 각 키와 값을 순회할 수 있습니다.
for key, value in person.items():
print(f"키: {key}, 값: {value}")
# 출력:
# 키: name, 값: John
# 키: age, 값: 35
1.5 딕셔너리 관련 메서드들
get()
: 키가 존재하지 않을 때 기본값을 반환하도록 할 수 있습니다.
print(person.get("address", "Unknown")) # 출력: Unknown
keys()
: 딕셔너리의 모든 키를 반환합니다.
print(person.keys()) # 출력: dict_keys(['name', 'age'])
values()
: 딕셔너리의 모든 값을 반환합니다.
print(person.values()) # 출력: dict_values(['John', 35])
2. 집합(Set)
2.1 집합의 정의와 사용법
집합(Set)은 중복되지 않은 요소들로 이루어진 데이터 타입입니다. 리스트와 달리 요소의 순서는 중요하지 않으며, 중복 요소를 자동으로 제거합니다. 집합은 중괄호 {}
또는 set()
을 사용해 생성합니다.
fruits = {"apple", "banana", "cherry"}
print(fruits) # 출력: {'apple', 'banana', 'cherry'}
2.2 집합의 기본 연산 (교집합, 합집합, 차집합)
교집합: 두 집합 간의 공통 요소를 반환합니다.
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1 & set2) # 출력: {2, 3}
합집합: 두 집합을 합쳐 중복되지 않은 모든 요소를 반환합니다.
print(set1 | set2) # 출력: {1, 2, 3, 4}
차집합: 첫 번째 집합에서 두 번째 집합의 요소를 제외한 결과를 반환합니다.
print(set1 - set2) # 출력: {1}
2.3 요소 추가와 제거
요소 추가: add()
메서드를 사용하여 집합에 요소를 추가할 수 있습니다.
fruits.add("orange")
print(fruits) # 출력: {'apple', 'banana', 'cherry', 'orange'}
요소 제거: remove()
또는 discard()
를 사용하여 요소를 제거할 수 있습니다. remove()
는 요소가 없을 경우 오류를 발생시키지만, discard()
는 오류를 발생시키지 않습니다.
fruits.remove("banana")
print(fruits) # 출력: {'apple', 'cherry', 'orange'}
2.4 집합의 활용 예제 (중복된 값 제거하기)
집합의 특성상 중복된 요소를 자동으로 제거합니다. 이를 활용하여 리스트의 중복 요소를 제거할 수 있습니다.
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = list(set(numbers))
print(unique_numbers) # 출력: [1, 2, 3, 4, 5]
3. 딕셔너리와 집합 활용 예제
3.1 딕셔너리를 사용한 학생 성적 관리 프로그램
딕셔너리를 사용해 학생의 이름과 성적을 저장하고, 성적을 조회하는 간단한 프로그램을 작성할 수 있습니다.
grades = {"Alice": 90, "Bob": 85, "Charlie": 95}
# 학생 성적 조회
def get_grade(name):
return grades.get(name, "학생을 찾을 수 없습니다.")
print(get_grade("Alice")) # 출력: 90
print(get_grade("David")) # 출력: 학생을 찾을 수 없습니다.
3.2 집합을 사용한 데이터 중복 제거 예제
집합을 사용하여 중복된 데이터를 제거하고 고유한 값만 남기는 프로그램을 작성할 수 있습니다.
emails = ["a@example.com", "b@example.com", "a@example.com", "c@example.com"]
unique_emails = set(emails)
print(unique_emails) # 출력: {'a@example.com', 'b@example.com', 'c@example.com'}
집합을 사용하면 리스트에서 중복된 값을 간단히 제거할 수 있습니다.
'python' 카테고리의 다른 글
7편 Python 기초 문법: 예외 처리 (0) | 2024.11.13 |
---|---|
6편 Python 기초 문법: 파일 입출력 (0) | 2024.11.12 |
4편 Python 기초 문법: 함수와 모듈 (1) | 2024.11.11 |
3편 Python 기초 문법: 반복문과 자료형 (0) | 2024.11.11 |
2편 Python 기초 문법 익히기 (1) | 2024.11.10 |