나는 이렇게 학습한다/Language

Python _ 딕셔너리 추가, 삭제 메서드 정리

daco2020 2022. 3. 4. 15:59
반응형

setdefault 메서드로 딕셔너리에 '키'와 '값' 추가할 수 있다.

>>> x = {}

>>> x.setdefault('a') # 딕셔너리에 '키'를 추가한다.
>>> x
{'a': None} # 기본값은 'None'이다.

>>> x.setdefault('b', 100) # 두번째 인자에 '값'을 넣을 수도 있다.

>>> x
{'a': None, 'b': 100} # '키'와 '값'을 확인할 수 있다.

 

 

 

update 메서드를 이용해 딕셔너리 '키'와 '값' 수정할 수 있다.(없으면 키-값 추가)

>>> x.update(a=50) # '키'와 '값'을 지정하여 넣을 수 있다.
>>> x
{'a': 50, 'b': 100}

>>> x.update(c=200) # 만약 '키'와 '값'이 없다면 추가된다.
>>> x
{'a': 50, 'b': 100, 'c': 200}

 

 

 

 

하지만 이는 '키'가 문자열일때만 가능하다.

만약 '키'가 숫자라면 '딕셔너리'형태로 인자를 넣어야 한다.

>>> x.update(1=100) # '키'가 숫자라면 문법 에러가 나온다.
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

>>> x.update({1:100}) # '딕셔너리'형태로 넣어주어야 한다.
>>> x
{'a': 50, 'b': 100, 'c': 200, 1: 100}

 

 

 

이 외에도 2차원 list와 zip을 이용하여 딕셔너리를 수정할 수 있다.

>>> x.update([['a',500]]) # 2차원 리스트를 활용한다.
>>> x
{'a': 500, 'b': 100, 'c': 200, 1: 100}


>>> x.update(zip(['a'],[1000])) # zip을 이용해 '키'리스트와 '값'리스트를 zip으로 묶어준다.
>>> x
{'a': 1000, 'b': 100, 'c': 200, 1: 100}

 

 

 

pop을 이용해 딕셔너리 요소를 꺼낼 수 있다.

>>> x.pop('c') # 'c'키와 값을 꺼낸다.
200 # 'c'의 값이 반환된다.
>>> x
{'a': 1000, 'b': 100, 1: 100} 

>>> x.pop('d',0) # 'd'키와 값을 꺼낸다. 만약 'd'키가 없다면 두번째 인자를 기본값으로 반환한다.
0  # 해당 키가 없기 때문에 기본값인 0이 반환되었다.
>>> x
{'a': 1000, 'b': 100, 1: 100}

 

 

 

del을 이용해 바로 삭제할 수 있다.

>>> x
{'a': 1000, 'b': 100, 1: 100}

>>> del x['a'] 

>>> x
{'b': 100, 1: 100}

 

 

 

popitem() 메서드를 이용하면 마지막 요소를 꺼낸다. 

>>> x.popitem()
(1, 100)
>>> x
{'b': 100}

 

 

 

clear() 메서드를 이용하면 모든 키-값 쌍을 삭제한다.

>>> x
{'b': 100}
>>> x.clear()
>>> x
{}

 

 

 

 

반응형