[파이썬 자료구조] 딕셔너리 Dictionary

서대철·2023년 7월 20일
0

파이썬에서 딕셔너리는 키-값 쌍으로 데이터를 저장하고 조직화하는 다재다능하고 강력한 데이터 구조입니다. 딕셔너리의 각 요소는 고유한 키와 해당하는 값을 가집니다. 키는 딕셔너리 내에서 고유해야 하며, 해당하는 값을 효율적으로 접근하는 데 사용됩니다.

다음은 예제 코드와 함께 딕셔너리에 대한 설명입니다:

딕셔너리 생성:
딕셔너리를 생성하려면 중괄호 {}를 사용하고 각 키-값 쌍을 콜론 :로 구분합니다(키 값은 중복될 수 없습니다). 다음은 사람의 정보를 나타내는 딕셔너리를 생성하는 예입니다:

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) 값만을 받을 수 있습니다. 일례로, 키는 튜플은 받을 수 있지만, 리스트는 받을 수 없습니다.

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

훌륭한 글이네요. 감사합니다.

답글 달기