एसओ पर कुछ महान लोगों के लिए धन्यवाद, मैंने संभावनाओं की खोज की 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प्रकार का है int, लेकिन मुझे यह नहीं पता था कि ऐसा कहां या कैसे करना है।
defaultdictपहली जगह का उपयोग करने का कारण यह है कि प्रत्येक नई कुंजी के लिए शब्दकोश को आरंभ करने से बचने के लिए।
कोई और सुरुचिपूर्ण सुझाव?
धन्यवाद पायथनर्स!
multiprocessingयह है कि ये आगे और पीछे भेजने से नाखुश हैं।