পদ্ধতি ১: for loop + update()
listA = [{'Mon':2}, {'Tue':11}, {'Wed':3}]
res = {}
for x in listA:
res.update(x)
print(res) # {'Mon': 2, 'Tue': 11, 'Wed': 3}
পদ্ধতি ২: functools.reduce + update()
from functools import reduce
listA = [{'Mon':2}, {'Tue':11}, {'Wed':3}]
res = reduce(lambda d, src: d.update(src) or d, listA, {})
print(res) # {'Mon': 2, 'Tue': 11, 'Wed': 3}
পদ্ধতি ৩: collections.ChainMap
from collections import ChainMap
listA = [{'Mon':2}, {'Tue':11}, {'Wed':3}]
res = ChainMap(*listA)
print(res) # ChainMap({'Mon': 2}, {'Tue': 11}, {'Wed': 3})
print(dict(res)) # {'Mon': 2, 'Tue': 11, 'Wed': 3} (আসল ডিক্টে কনভার্ট)
তুলনা
- update(): সবচেয়ে সহজ এবং স્પষ্ট।
- reduce(): ফাংশনাল স্টাইল, এক লাইনে।
- ChainMap: ভিউ তৈরি করে (কপি না), মেমরি বাঁচায়; পরবর্তীতে
dict() দিয়ে কনভার্ট করতে পারে।
আউটপুট
{'Mon': 2, 'Tue': 11, 'Wed': 3}