준호씨의 블로그

python - Dictionary key에 해당하는 데이터 삭제하기 본문

개발이야기

python - Dictionary key에 해당하는 데이터 삭제하기

준호씨 2022. 7. 30. 01:16
반응형

python의 Dictionary구조체에서 key에 해당하는 데이터를 삭제하는 방법입니다.

 

del statement

del d [key]로 삭제하는 방법입니다.

코드로 설명하면 다음과 같습니다. mydict에서 "name"에 해당하는 아이템을 삭제하는 예제입니다.

mydict = {"name": "hong gil dong", "age": 28}
print(mydict) # {'name': 'hong gil dong', 'age': 28}

del mydict["name"]
print(mydict) # {'age': 28}

 

다만 key가 없는 경우 KeyError가 발생하게 됩니다.

Traceback (most recent call last):
  File "/Users/junho85/PycharmProjects/python-study/17.dictionary/dictionary_delete.py", line 9, in <module>
    del mydict["name"]
KeyError: 'name'

 

안전하게 삭제하고 싶다면 아래와 같이 key가 있는지 확인한 다음 삭제하면 됩니다.

if 'name' in mydict:
    del mydict["name"]

pop(key[, default]) 함수

pop 함수를 이용하면 KeyError가 발생하지 않도록 손쉽게 구현할 수 있습니다.

print(mydict.pop("name", None)) # None

함수의 default는 key가 없을 때 기본적으로 리턴할 값을 지정하는 부분입니다. 여기서는 None으로 지정했기 때문에 key가 없으면 None이 리턴됩니다.

 

만약 default를 지정하지 않으면 del과 마찬가지로 KeyError가 발생합니다.

 

 

기타. del statement? keyword? 함수? 연산자? 어떻게 부르는 게 좋을까?

이 내용은 아래 글에 포스팅합니다.

https://junho85.pe.kr/2047

 

python - del statement. keyword? 연산자? 함수? 적절한 표현인가?

python에는 del statement가 있습니다. 여러 역할이 있지만 dictionary에서는 key에 해당하는 아이템을 삭제할 때 사용합니다. mydict = {"name": "hong gil dong", "age": 28} print(mydict) # {'name': 'hong g..

junho85.pe.kr

 

반응형
Comments