반응형
안녕하세요
이번에는 딕셔너리에 대해 알아보도록 하겠습니다
파이썬에서 **딕셔너리(dictionary)**는 **키-값 쌍(key-value pair)**을 저장하는 데이터 구조입니다. 각 키는 고유하며, 이 키를 사용하여 값을 저장하고 검색할 수 있습니다. 딕셔너리는 중괄호 {}로 묶여 있으며, 키와 값은 콜론 :으로 구분하고, 각 키-값 쌍은 쉼표 ,로 구분합니다.
딕셔너리 생성
딕셔너리는 다양한 방법으로 생성할 수 있습니다.
# 빈 딕셔너리
empty_dict = {}
# 초기화된 딕셔너리
person = {
'name': 'Alice',
'age': 25,
'city': 'New York'
}
# dict() 함수 사용
another_dict = dict(name='Bob', age=30, city='Los Angeles')
# 키-값 쌍의 리스트를 딕셔너리로 변환
pairs = [('name', 'Charlie'), ('age', 35), ('city', 'Chicago')]
yet_another_dict = dict(pairs)
딕셔너리 접근 및 수정
딕셔너리는 키를 사용하여 값을 접근하고 수정할 수 있습니다.
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 값 접근
print(person['name']) # 출력: Alice
print(person['age']) # 출력: 25
# 값 수정
person['age'] = 26
print(person) # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York'}
# 새로운 키-값 쌍 추가
person['email'] = 'alice@example.com'
print(person) # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York', 'email': 'alice@example.com'}
딕셔너리 메서드
딕셔너리는 데이터를 조작하기 위한 다양한 메서드를 제공합니다.
키-값 쌍 가져오기
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 키 리스트
print(person.keys()) # 출력: dict_keys(['name', 'age', 'city'])
# 값 리스트
print(person.values()) # 출력: dict_values(['Alice', 25, 'New York'])
# 키-값 쌍 리스트
print(person.items()) # 출력: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
요소 삭제
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 특정 키-값 쌍 삭제
del person['city']
print(person) # 출력: {'name': 'Alice', 'age': 25}
# pop() 메서드 사용하여 키-값 쌍 삭제 및 값 반환
age = person.pop('age')
print(age) # 출력: 25
print(person) # 출력: {'name': 'Alice'}
# 모든 키-값 쌍 삭제
person.clear()
print(person) # 출력: {}
요소 검색 및 기본값 설정
person = {'name': 'Alice', 'age': 25}
# 키가 존재할 때 값 반환, 존재하지 않을 때 기본값 반환
city = person.get('city', 'Unknown')
print(city) # 출력: Unknown
# 키가 존재하지 않을 때 기본값으로 추가
person.setdefault('email', 'alice@example.com')
print(person) # 출력: {'name': 'Alice', 'age': 25, 'email': 'alice@example.com'}
딕셔너리 업데이트
person = {'name': 'Alice', 'age': 25}
# 다른 딕셔너리로 업데이트
new_info = {'age': 26, 'city': 'New York'}
person.update(new_info)
print(person) # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York'}
딕셔너리의 사용 사례
- 데이터 매핑: 사용자 정보, 설정 등 키-값 쌍으로 표현할 수 있는 데이터를 저장하는 데 사용됩니다.
- 카운팅: 문자열이나 리스트 등에서 요소의 빈도를 계산할 때 사용됩니다.
from collections import Counter
text = "hello world"
counter = Counter(text)
print(counter) # 출력: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
3.데이터 그룹핑: 특정 키를 기준으로 데이터를 그룹핑할 때 사용됩니다.
students = [
{'name': 'Alice', 'grade': 'A'},
{'name': 'Bob', 'grade': 'B'},
{'name': 'Charlie', 'grade': 'A'},
{'name': 'David', 'grade': 'B'},
]
from collections import defaultdict
grade_groups = defaultdict(list)
for student in students:
grade_groups[student['grade']].append(student['name'])
print(dict(grade_groups))
# 출력: {'A': ['Alice', 'Charlie'], 'B': ['Bob', 'David']}
4.연관 배열: 키를 사용하여 값을 빠르게 검색해야 할 때 딕셔너리를 사용합니다.
딕셔너리는 그 유연성과 성능 덕분에 다양한 응용 프로그램에서 중요한 자료형으로 사용됩니다.
#파이썬 #자료형 #딕셔너리 #python
반응형
'파이썬 > 자료형' 카테고리의 다른 글
파이썬 자료형 - 집합(set) (0) | 2024.07.30 |
---|---|
파이썬 자료형 - 튜플 (0) | 2024.07.30 |
파이썬 자료형 - 리스트 (0) | 2024.07.30 |
파이썬 자료형 - 문자형 (0) | 2024.07.27 |
파이썬 자료형 - 숫자형 (0) | 2024.07.27 |