파이썬에서 딕셔너리는 키-값 쌍으로 데이터를 저장하고 조직화하는 다재다능하고 강력한 데이터 구조입니다. 딕셔너리의 각 요소는 고유한 키와 해당하는 값을 가집니다. 키는 딕셔너리 내에서 고유해야 하며, 해당하는 값을 효율적으로 접근하는 데 사용됩니다.
다음은 예제 코드와 함께 딕셔너리에 대한 설명입니다:
딕셔너리 생성:
딕셔너리를 생성하려면 중괄호 {}를 사용하고 각 키-값 쌍을 콜론 :로 구분합니다(키 값은 중복될 수 없습니다). 다음은 사람의 정보를 나타내는 딕셔너리를 생성하는 예입니다:
person = {
'name': 'John',
'age': 30,
'occupation': 'Engineer',
'city': 'New York'
}
딕셔너리의 값 접근:
딕셔너리의 값을 괄호 안에 키를 지정하여 접근할 수 있습니다.
print(person['name']) # 출력: 'John'
print(person['age']) # 출력: 30
print(person.get('name')) # 출력: 'John'
print(person.get('age')) # 출력: 30
요소 수정 및 추가:
키에 연결된 값을 수정하거나 새로운 키-값 쌍을 딕셔너리에 추가할 수 있습니다.
person['age'] = 31 # 'age' 값을 31로 수정
person['email'] = 'john@example.com' # 'email' 키-값 쌍 추가
요소 삭제:
'del', 또는 'pop()' 메소드를 사용해 요소를 삭제할 수 있습니다.
student_ages = {
'Alice': 25,
'Bob': 22,
'Charlie': 21,
'David': 24,
'Eva': 20
}
# Delete the entry for 'Charlie'
del student_ages['Charlie']
print(student_ages)
# Remove and return the age of 'Eva'
eva_age = student_ages.pop('Eva')
print(f"The age of Eva is {eva_age}")
print(student_ages)
딕셔너리 메서드:
딕셔너리는 데이터를 조작하고 검색하기 위한 여러 유용한 메서드를 제공합니다.
# 딕셔너리 내 키-값 쌍의 개수를 얻습니다.
print(len(person)) # 출력: 5
# 특정 키가 딕셔너리에 있는지 확인합니다.
print('occupation' in person) # 출력: True
print('country' in person) # 출력: False
# 모든 키를 리스트로 얻습니다.
keys = person.keys()
print(keys) # 출력: dict_keys(['name', 'age', 'occupation', 'city', 'email'])
# 모든 값을 리스트로 얻습니다.
values = person.values()
print(values) # 출력: dict_values(['John', 31, 'Engineer', 'New York', 'john@example.com'])
# 모든 키/값 아이템을 튜플로 얻습니다.
items = person.items()
print(items) # 출력: dict_items([('name', 'John'), ('age', '31') ....])
딕셔너리 반복:
for 루프를 사용하여 딕셔너리의 키 또는 값을 반복할 수 있습니다.
# 키 순회
for key in person:
print(key, person[key])
# 값 순회
for value in person.values():
print(value)
중첩된 딕셔너리:
딕셔너리 안에 다른 딕셔너리를 중첩하여 복잡한 데이터 구조를 표현할 수 있습니다.
students = {
'student1': {
'name': 'Alice',
'age': 20,
'major': 'Computer Science'
},
'student2': {
'name': 'Bob',
'age': 21,
'major': 'Physics'
}
}
print(students['student1']['name']) # 출력: 'Alice'
딕셔너리는 데이터 저장, 설정 설정, 속성을 가진 실제 객체 표현 등 다양한 용도로 널리 사용되며, 그 유연성과 효율성으로 인해 파이썬 개발자들에게 필수적인 도구입니다.
키와 값 모두 다양한 데이터 형태를 받을 수 있습니다. 다만, 키의 경우 변경불가능한 (immutable) 값만을 받을 수 있습니다. 일례로, 키는 튜플은 받을 수 있지만, 리스트는 받을 수 없습니다.
훌륭한 글이네요. 감사합니다.