এসও-তে কিছু দুর্দান্ত লোককে ধন্যবাদ, আমি প্রদত্ত সম্ভাবনাগুলি আবিষ্কার করেছি 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এগুলি পিছনে পিছনে প্রেরণে অসন্তুষ্ট।