एसओ पर कुछ महान लोगों के लिए धन्यवाद, मैंने संभावनाओं की खोज की 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
यह है कि ये आगे और पीछे भेजने से नाखुश हैं।