Python

[Python] Dictionary(딕셔너리) 생성 및 초기화, setdefault()

토오오끼 2023. 10. 9. 23:09
728x90
반응형

파이썬에서 딕셔너리를 생성할 때 마다

a = {}
a['key']='value'

이렇게만 해 왔는데 iterable하게 값을 넣어주려니(ex. value에 list를 넣는다는지 등등) for문을 써야하는 게 불편했다.

다른 방법이 있는지 알아보니 setdefault()라는 방법이 있었다.

 

a = {}
feature = np.array([1,2,3])

a.setdefault(0, []).append(feature)
a
>> {0:[array([1,2,3])]}

존재하지 않는 키에 대해서도 값을 넣을 수 있으며

feature2 = np.array([4,5,6])

a.setdefault(0, []).append(feature2)
a
>> {0:[array([1,2,3]), array([4,5,6])]}

키가 존재할 때 해당 키에 append를 해 주면 값이 덮어씌워지는 것이 아니라 값이 추가 되어진다. (value가 list 형태 이기 때문에 list에 append 해 주는 거랑 동일함.)

728x90
반응형