[Python] 딕셔너리 key 삭제

tacowasabii·2024년 6월 13일
0

Python

목록 보기
5/12
post-thumbnail

Python 딕셔너리에서 키를 삭제하는 방법은 여러 가지가 있다. 특정 키를 삭제하거나, 존재하지 않는 키를 안전하게 삭제하는 등의 다양한 상황에 따라 적절한 방법을 사용할 수 있다. 아래는 Python 딕셔너리에서 키를 삭제하는 다양한 방법에 대한 설명이다.


1. del 키워드 사용

del 키워드는 딕셔너리에서 특정 키와 그에 대응하는 값을 삭제하는 가장 기본적인 방법이다. 하지만, 삭제하려는 키가 존재하지 않으면 KeyError가 발생한다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
del my_dict['apple']
print(my_dict)
# 출력: {'banana': 3, 'pear': 1, 'orange': 2}

# 존재하지 않는 키를 삭제하려고 하면 오류 발생
# del my_dict['grape']  # KeyError 발생

2. pop() 메서드 사용

pop() 메서드는 지정한 키를 삭제하고, 해당 키의 값을 반환한다. 키가 존재하지 않으면 KeyError가 발생하지만, 두 번째 인자로 기본값을 제공하면 KeyError를 피할 수 있다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
value = my_dict.pop('apple')
print(my_dict)
# 출력: {'banana': 3, 'pear': 1, 'orange': 2}
print(value)
# 출력: 4

# 존재하지 않는 키를 삭제하려고 할 때 기본값 제공
value = my_dict.pop('grape', 'Not Found')
print(value)
# 출력: 'Not Found'

3. popitem() 메서드 사용

popitem() 메서드는 딕셔너리의 마지막 키-값 쌍을 삭제하고, 이를 튜플로 반환한다. Python 3.7 이후 버전에서 딕셔너리는 삽입 순서를 유지하기 때문에 마지막에 삽입된 아이템이 삭제된다. 이 메서드는 딕셔너리가 비어있으면 KeyError를 발생시킨다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
item = my_dict.popitem()
print(my_dict)
# 출력: {'banana': 3, 'apple': 4, 'pear': 1}
print(item)
# 출력: ('orange', 2)

4. clear() 메서드 사용

clear() 메서드는 딕셔너리의 모든 키-값 쌍을 삭제하여 빈 딕셔너리로 만든다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
my_dict.clear()
print(my_dict)
# 출력: {}

5. dict comprehension 사용

딕셔너리를 순회하면서 조건에 맞지 않는 키-값 쌍만 남기고 새 딕셔너리를 생성하는 방법이다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
# 'apple' 키를 삭제한 새 딕셔너리 생성
new_dict = {k: v for k, v in my_dict.items() if k != 'apple'}
print(new_dict)
# 출력: {'banana': 3, 'pear': 1, 'orange': 2}

Python 딕셔너리에서 키를 삭제하는 다양한 방법을 살펴보았다. del 키워드, pop() 메서드, popitem() 메서드, clear() 메서드, 그리고 dict comprehension 등을 사용하여 상황에 맞게 키를 삭제할 수 있다. 이를 활용하면 딕셔너리 데이터를 더욱 유연하게 관리할 수 있다.

profile
웹 프론트엔드 엔지니어

0개의 댓글

관련 채용 정보