본문 바로가기
programming/Python

파이썬 딕셔너리 아이템 값 제거하기 Python Dictionary Remove Item Values

by 개코 - 개발과 코딩 2021. 9. 26.

파이썬 딕셔너리에서 아이템을 제거하는 방법은 여러가지가 있다. 자신이 좋아하는 방법을 사용하면 그만이다. 딕셔너리를 초기화하여 다른 데이터를 넣을 수 있다. 완전히 메모리에서 삭제할 수도 있기 때문에 이 부분은 조심하자.

파이썬 딕셔너리 아이템 값 제거하기
Python Dictionary Remove Item Values

파이썬 딕셔너리에서 아이템을 제거하는 방법은 함수를 사용하는 방법이 있다.

딕셔너리에 있는 특정 키를 지정하여 삭제할 수 있고, 전체를 초기화할 수 있다.

메모리에까지 완전히 삭제하고 싶다면 del 키워드를 사용한다.

pop() 함수 사용하기

pop() 함수를 사용하면 파이썬 딕셔너리의 특정 키를 삭제할 수 있다.

Dictionary.pop("키 이름") 형태로 사용한다.

코드로 pop() 함수 사용하는 것을 해 본다.

from typing import Tuple

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "groupEn" : "Red Velvet",
  "memberCount" : 4,
  "member": ["아이린,슬기,웬디,조이,예리"]
}

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

vDict.pop("memberCount")

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

키가 membercount 인 아이템을 삭제했다.

아래는 키를 삭제한 결과를 보여준다.

popitem() 함수 사용하기

popitem() 함수를 사용하면 딕셔너리에 가장 마지막으로 입력된 아이템을 삭제한다.

Dictionary.popitem() 형태로 사용하면 되며, 가장 마지막에 입력된 아이템을 삭제하고 싶다면 이 함수를 사용하면 된다.

from typing import Tuple

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "groupEn" : "Red Velvet",
  "memberCount" : 4,
  "member": ["아이린,슬기,웬디,조이,예리"]
}

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

vDict.popitem()

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

가장 마지막 아이템인 member 가 삭제된 것을 볼 수 있다.

아래는 결과화면이다.

잘 지워진 것을 확인할 수 있다.

clear() 함수 사용하기

clear() 함수는 딕셔너리 변수를 초기화하는데 유용하다.

변수는 그대로 두고 변수안에 설정된 값들을 삭제한다.

from typing import Tuple

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "groupEn" : "Red Velvet",
  "memberCount" : 4,
  "member": ["아이린,슬기,웬디,조이,예리"]
}

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

vDict.clear()

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

clear() 함수는 딕셔너리 변수는 그대로 두고 아이템들만 삭제하였다.

당연히 변수는 남아있기 때문에 출력문에도 영향이 없다.

del 사용하기

del 키워드를 사용하면 아이템을 삭제할 수도 있고 딕셔너리 자체를 제거할 수도 있다.

메모리에서 완전히 사라잘 수 있기 때무에 del 키워드를 사용하는 것은 주의한다.

from typing import Tuple

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "groupEn" : "Red Velvet",
  "memberCount" : 4,
  "member": ["아이린,슬기,웬디,조이,예리"]
}

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

del vDict["memberCount"]

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

del 키워드를 사용하여 딕셔너리의 특정 키를 설정하면 키에 해당하는 아이템만 삭제된다.

위에서 언급한 아이템 제거와 결과적으로 차이가 없다.

하지만 del 키워드로 딕셔너리 자체를 사용하면 메모리영역까지 삭제하기 때문에 에러가 발생한다.

from typing import Tuple

print('----------')

vDict = {
  "company": "SM Ent",
  "group": "레드벨벳",
  "groupEn" : "Red Velvet",
  "memberCount" : 4,
  "member": ["아이린,슬기,웬디,조이,예리"]
}

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

del vDict

print("딕셔너리 Dintionary items : ", type(vDict), len(vDict), vDict)

print('----------')

메모리에 있던 딕셔너리까지 삭제되었다.

출력문은 메모리에 없는 딕셔너리에 접근하려고 하기 때문에 에러가 발생한다.

반응형

댓글