[python] 파이썬 자료형 딕셔너리 요소를 삭제하는 4가지 방법
안녕하세요!
이번 글에서는 파이썬의 딕셔너리(DICTIONARY)의 요소를 삭제하는 방법에 대해서
알아보려고 합니다.
1) del 키워드를 사용한 특정 키-값 쌍 삭제
2) dict.pop(key) 메서드를 활용한 특정 키-값 쌍 삭제 및 반환
3) dict.popitem() 메서드를 이용한 무작위 키-값 쌍 삭제 및 반환
4) dict.clear() 메서드를 이용한 모든 요소 삭제
순서로 알아보겠습니다.
1) del 키워드를 사용한 특정 키-값 쌍 삭제
# 딕셔너리 생성
gildong_info = {'name':"홍길동",'age':17,'city':'Daegu'}
print(gildong_info) # {'name': '홍길동', 'age': 17, 'city': 'Daegu'}
# 'age' 키에 해당하는 값을 삭제
del gildong_info['age']
print(gildong_info) # {'name': '홍길동', 'city': 'Daegu'}
del dictionary[key] 형식으로 제거를 합니다.
2) dict.pop(key) 메서드를 활용한 특정 키-값 쌍 삭제 및 반환
# 딕셔너리 생성
gildong_info = {'name':"홍길동",'age':17,'city':'Daegu'}
print(gildong_info) # {'name': '홍길동', 'age': 17, 'city': 'Daegu'}
# 'age' key에 해당하는 value 삭제 후 반환
gildong_age = gildong_info.pop('age')
print(gildong_info) # {'name': '홍길동', 'city': 'Daegu'}
print(gildong_age) # 17
dict.pop(key) 형식으로 사용을합니다.
pop은 key와 value를 삭제한 후 return 합니다.
3) dict.popitem() 메서드를 이용한 무작위 키-값 쌍 삭제 및 반환
# 딕셔너리 생성
gildong_info = {'name':"홍길동",'age':17,'city':'Daegu'}
print(gildong_info) # {'name': '홍길동', 'age': 17, 'city': 'Daegu'}
removed_item = gildong_info.popitem()
print(gildong_info) # {'name': '홍길동', 'age': 17}
print(removed_item) # ('city', 'Daegu')
dict.popitem() 형식으로 사용을합니다.
pop은 key와 value를 삭제한 후 return 합니다
튜플 형태로 반환 합니다.
주의점)
파이썬 버전 3.7을 기준으로 낮은 버전은 랜덤으로 삭제하고 반환하는게 맞지만
3.7 이후 버전은 딕셔너리 삽입 순서를 가지고 있기 때문에 가장 최근에 추가된 키-값 쌍이 반환됩니다.
이를 활용하여 딕셔너리의 요소를 순차적으로 처리하거나, 딕셔너리를 역순으로 처리하는데 유용합니다
딕셔너리가 비어있는 경우 호출하면 KeyError가 발생합니다
4) dict.clear() 메서드를 이용한 모든 요소 삭제
gildong_info = {'name':"홍길동",'age':17,'city':'Daegu'}
print(gildong_info) # {'name': '홍길동', 'age': 17, 'city': 'Daegu'}
# 모든 요소 삭제
gildong_info.clear()
# 삭제 후 딕셔너리 출력
print(gildong_info) # {}
dict.clear() 형식으로 사용하고
딕셔너리의 모든 key-value 쌍을 삭제합니다.
정리)
딕셔너리의 요소를 삭제하는 방법은 크게 4가지가 있다.
1) del 키워드를 사용한 특정 키-값 쌍 삭제
del dictionaryName[key] 형식으로 사용한다.
2) dict.pop(key) 메서드를 활용한 특정 키-값 쌍 삭제 및 반환
dictionaryName.pop(key) 형식으로 사용하고 삭제하고 value를 리턴한다.
3) dict.popitem() 메서드를 이용한 무작위 키-값 쌍 삭제 및 반환
dictionaryName.popitem() 형식으로 사용하고
3.7버전 이전에는 랜덤으로 삭제하고 (key,value)튜플로 반환한다.
3.7버전 이후에는 역순으로 삭제하고 (key,value)튜플로 반환한다.
4) dict.clear() 메서드를 이용한 모든 요소 삭제
dictionaryName.clear() 형식으로 사용하고
모든 요소를 삭제한다.
마치면서)
파이썬 공식 문서에서 딕셔너리와 예제를 찾아보시면 더욱 자세한 정보를 얻을 수 있습니다.
다음 글에서도 유용한 파이썬 팁과 기능을 소개하도록 하겠습니다
감사합니다.