SO의 훌륭한 사람들 덕분 collections.defaultdict
에 가독성과 속도에서 제공하는 가능성을 발견했습니다 . 나는 그것들을 성공으로 사용했다.
이제 세 가지 수준의 사전을 구현하고 싶습니다. 두 가지 최상위 수준 defaultdict
과 가장 낮은 수준 int
입니다. 이 작업을 수행하는 적절한 방법을 찾지 못했습니다. 내 시도는 다음과 같습니다.
from collections import defaultdict
d = defaultdict(defaultdict)
a = [("key1", {"a1":22, "a2":33}),
("key2", {"a1":32, "a2":55}),
("key3", {"a1":43, "a2":44})]
for i in a:
d[i[0]] = i[1]
이제는 작동하지만 원하는 동작 인 다음은 작동하지 않습니다.
d["key4"]["a1"] + 1
나는 어딘가에 두 번째 레벨 defaultdict
이 type 이라고 선언해야한다고 생각 int
하지만 어디에서 어떻게 할 것인지 찾지 못했습니다.
내가 defaultdict
처음 사용하는 이유 는 각각의 새 키에 대한 사전을 초기화하지 않아도되기 때문입니다.
더 우아한 제안이 있습니까?
고마워 pythoneers!
multiprocessing
앞뒤로 보내는 것이 불행합니다.