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