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

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

গভীর নেস্টেড ডিকশনারি (নেস্টেড JSON) কে ফ্ল্যাটেন করা হয় ইনার কীগুলোর সাথে আউটার কী কনক্যাটিনেট করে। পাইথনে রিকার্সিভ অথবা cherrypicker মডিউল দিয়ে এটি করা যায়।

১. রিকার্সিভ পদ্ধতি

একটি ফাংশন লিখে প্রতিটি আইটেম প্রসেস করুন। যদি ভ্যালু ডিকশনারি হয়, তবে রিকার্সিভ কল করুন।

উদাহরণ

dictA = {
    "id": "0001",
    "name": "hotdog",
    "image": {
        "url": "images/0001.jpg",
        "thumbnail": {
            "url": "images/thumbnails/0001.jpg",
            "height,width": "2x4"
        }
    }
}

def dict_flatten(in_dict, dict_out=None, parent_key=None, separator="_"):
    if dict_out is None:
        dict_out = {}
    for k, v in in_dict.items():
        new_key = f"{parent_key}{separator}{k}" if parent_key else k
        if isinstance(v, dict):
            dict_flatten(v, dict_out, new_key)
            continue
        dict_out[new_key] = v
    return dict_out

final_dict = dict_flatten(dictA)
print(final_dict)
# Output: {'id': '0001', 'name': 'hotdog', 'image_url': 'images/0001.jpg', ...}

২. cherrypicker মডিউল ব্যবহার

CherryPicker(dictA).flatten().get() দিয়ে সরাসরি ফ্ল্যাটেন করা যায়। ডিফল্ট সেপারেটর '-'-।

উদাহরণ

from cherrypicker import CherryPicker
picker = CherryPicker(dictA)
print(picker.flatten().get())
  1. পাইথন প্রোগ্রাম: টাপলের লিস্টকে ডিকশনারিতে রূপান্তর

  2. Python Dictionary কে লিস্টে রূপান্তর করা

  3. পাইথন টাপলকে ডিকশনারিতে রূপান্তর করার পদ্ধতি

  4. পাইথনে স্ট্রিংকে ডিকশনারিতে রূপান্তর করা