본문으로 건너뛰기
실습하기

딕셔너리의 데이터를 효율적으로 다루는 방법

파이썬에서 메서드(Method)는 특정 데이터 타입에 사용 가능한 함수를 의미합니다.

예를 들어 이전 수업에서 배운 리스트의 append는 리스트에 새로운 값을 추가하는 메서드입니다.

append 메서드 사용 예시
my_list = [1, 2, 3]

# 리스트에 4를 추가
my_list.append(4)

# [1, 2, 3, 4] 출력
print(my_list)

리스트와 마찬가지로 딕셔너리(Dictionary)를 다루는 데에도 다양한 메서드를 활용할 수 있습니다.


원하는 값을 안전하게 찾는 get

이전 수업에서 소개한 것처럼 딕셔너리에서 특정 키의 값을 가져오려면 보통 ["key"]와 같이 대괄호 내 키를 입력합니다.

하지만 딕셔너리에 해당 키가 존재하지 않을 경우 프로그램 오류가 발생합니다.

이러한 상황에 유용하게 활용되는 것이 바로 get 메서드입니다.

get 메서드 사용 예시
my_dict = {'name': 'Alice', 'age': 25}

# 'name' 키가 존재하므로 해당 값이 반환됩니다.
name = my_dict.get('name')

# 'Alice' 출력
print(name)

# 'address' 키가 존재하지 않으므로 None이 반환됩니다.
address = my_dict.get('address')

# None 출력
print(address)

# 기본값을 설정하면 키가 없을 때 해당 값이 반환됩니다.
address = my_dict.get('address', 'Hello')

# 'Hello' 출력
print(address)

이렇게 get 메서드를 활용하면 딕셔너리에서 안전하게 값을 조회할 수 있으며, 키가 존재하지 않는 경우에도 오류 없이 기본값을 반환해 코드의 안정성을 높입니다.


딕셔너리의 키를 조회하는 keys

때로는 딕셔너리에 어떤 키들이 저장되어 있는지 확인하고 싶을 때가 있습니다.

이러한 경우에 keys 메서드를 사용하면 딕셔너리 내 모든 키를 확인할 수 있습니다.

keys 메서드 사용 예시
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 딕셔너리의 모든 키를 리스트로 반환합니다.
keys = my_dict.keys()
# dict_keys(['name', 'age', 'city'])

모든 값을 한 번에 확인하는 values

딕셔너리에 저장된 모든 값을 확인할 때는 values 메서드를 사용합니다.

이 메서드는 딕셔너리의 모든 값(Value)들을 리스트로 반환합니다.

values 메서드 사용 예시
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 딕셔너리의 모든 값을 리스트로 반환합니다.
values = my_dict.values() # dict_values(['Alice', 25, 'New York'])

그 외 알아두면 유용한 메서드들

딕셔너리를 다루면서 알아두면 좋은 기타 메서드들도 있습니다.

  • items: 딕셔너리의 키-값 쌍을 튜플 형태로 반환합니다.

  • update: 다른 딕셔너리나 키-값 쌍으로 현재 딕셔너리를 업데이트합니다.

  • pop: 특정 키를 제거하고 해당 키의 값을 반환합니다.

기타 메서드 사용 예시
my_dict = {'name': 'Alice', 'age': 25}

# 'items' 메서드로 키-값 쌍을 확인합니다.
items = my_dict.items()
# dict_items([('name', 'Alice'), ('age', 25)])


# 'update' 메서드로 새로운 값을 추가하거나 업데이트합니다.
my_dict.update({'age': 26, 'city': 'New York'})
# {'name': 'Alice', 'age': 26, 'city': 'New York'}


# 'pop' 메서드로 'name' 키를 제거하고 값을 반환합니다.
name = my_dict.pop('name')
# 'Alice' 반환, {'age': 26, 'city': 'New York'}로 변경

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!