কম্পিউটার টিউটোরিয়াল

পাইথনে ডিকশনারির লিস্ট ফ্ল্যাটেন করা (Flatten list of dictionaries)


পদ্ধতি ১: 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}
  1. পাইথনে দুটি লিস্ট ডিভাইড করুন

  2. পাইথনে নেস্টেড লিস্ট ইটেরেটর ফ্ল্যাটেন করা

  3. পাইথনে দুটি ডিকশনারি মার্জ করার প্রোগ্রাম

  4. পাইথনে লিস্টে নির্দিষ্ট পজিশনে অবজেক্ট ইনসার্ট করার পদ্ধতি