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

পাইথন: কীভাবে ডিকশনারি প্রিন্ট করবেন

ডিকশনারি ডেটা কী-ভ্যালু পেয়ারে সংরক্ষণ করে। এর মানে ডিকশনারির প্রতিটি ভ্যালু একটি কী এর সাথে অ্যাসোসিয়েটেড। এই কী একটি রেফারেন্স পয়েন্ট হিসেবে কাজ করে।

আপনি যদি কনসোলে একটি ডিকশনারির কন্টেন্ট দেখতে চান, তবে কিছু পদ্ধতি আপনি अपना করতে পারেন। আপনি সরাসরি ডিকশনারি প্রিন্ট করতে পারেন, অথবা কী-ভ্যালু পেয়ারগুলো আলাদা আলাদা প্রিন্ট করতে পারেন।

এই গাইডে, আমরা পাইথনে ডিকশনারি কীভাবে প্রিন্ট করতে হয় তা আলোচনা করব। আমরা কিছু উদাহরণ দিয়ে ওয়াকথ্রু করব যাতে আপনি আপনার কোডে ডিকশনারি কীভাবে প্রিন্ট করবেন তা বুঝতে পারেন।

পাইথন: for লুপ ব্যবহার করে ডিকশনারি প্রিন্ট করা

আমরা একটি প্রোগ্রাম বানাব যা একটি বেকারের জন্য পড়তে একটি ডিকশনারির কন্টেন্ট প্রিন্ট করবে। এই ডিকশনারি ইনগ্রিডিয়েন্টের নাম এবং স্কোনসের একটি ব্যাচ বেক করার জন্য সেই ইনগ্রিডিয়েন্টের কোয়ান্টিটি ধারণ করে।

আমাদের রেসিপি সম্পর্কে ইনফরমেশন ধারণকারী একটি ডিকশনারি তৈরি করি:

scone = {
    "self-raising flour": "350g",
    "baking powder": "1 tbsp",
    "butter": "85g",
    "caster sugar": "3 tbsp",
    "milk": "175ml",
    "egg": "1 whole"
}

আমাদের ডিকশনারিতে ছয়টি কী এবং ভ্যালু রয়েছে। প্রতিটি কী একটি ইনগ্রিডিয়েন্টের নাম রিপ্রেজেন্ট করে এবং প্রতিটি ভ্যালু আমাদের বলে দেয় একটি ব্যাচ স্কোনস কুক করার জন্য সেই ইনগ্রিডিয়েন্টের কোয়ান্টিটি।

এরপর, আমরা একটি for লুপ ব্যবহার করি এই ডিকশনারির কন্টেন্ট প্রিন্ট করতে। আমরা items() মেথড ব্যবহার করে এটি করতে পারি এইভাবে:

for key, value in scone.items():
    print(value, key)

আমাদের কোড রান করি এবং দেখি কী হয়:

350g self-raising flour
1 tbsp baking powder
85g butter
3 tbsp caster sugar
175ml milk
1 whole egg

আমাদের কোড সফলভাবে আমাদের ডিকশনারির সব কী এবং ভ্যালু প্রিন্ট করল। items() মেথড দুটি লিস্ট রিটার্ন করে: একটি ডিকশনারির সব কী এবং সব ভ্যালু। প্রতিবার আমরা মেথডের ওপর ইটারেট করি, আমরা একটি নতুন কী-ভ্যালু পেয়ার অ্যাক্সেস করতে পারি।

প্রথম ইটারেশনে, "value" হলো "350g" এবং "key" হলো "self-raising flour"। আমাদের for লুপ ইটারেট করে চলবে যতক্ষণ না সব কী-ভ্যালু পেয়ার কনসোলে প্রিন্ট হয়।

পাইথন: json মডিউল ব্যবহার করে ডিকশনারি প্রিন্ট করা

আমাদের শেষ উদাহরণে, আমরা ম্যানুয়ালি একটি for লুপ ব্যবহার করে ডিকশনারি কনসোলে প্রিন্ট করেছি। এটি লাস্ট ইউজ কেসের জন্য আইডিয়াল কারণ আমরা ইনগ্রিডিয়েন্টের লিস্ট বেকার দ্বারা পড়ার যোগ্য চাইতাম।

json মডিউল আপনাকে ডিকশনারির সাথে কাজ করতে দেয়। json.dumps মেথড একটি ডিকশনারি ডেভেলপারদের সহজে পড়তে যোগ্য করে। এটি ডেভেলপারদের জন্য আইডিয়াল যারা কনসোলে ডিকশনারির ভ্যালু দেখতে চান।

আমরা আমাদের আগের প্রোগ্রাম টুইক করব json মডিউল ব্যবহার করে ডিকশনারি প্রিন্ট করতে।

শুরুতে, json মডিউল ইম্পোর্ট করি যাতে আমরা আমাদের কোডে এটোর সাথে কাজ করতে পারি:

import json

এরপর, আসুন আমাদের ডিকশনারি ডিফাইন করি:

scone = {
    "self-raising flour": "350g",
    "baking powder": "1 tbsp",
    "butter": "85g",
    "caster sugar": "3 tbsp",
    "milk": "175ml",
    "egg": "1 whole"
}

এই ডিকশনারি আমাদের শেষ উদাহরণের সেম। পরবর্তী ধাপ হলো json মডিউল ব্যবহার করে আমাদের ডিকশনারি কনসোলে প্রিন্ট করা। আমরা json.dumps নামে একটি মেথড ব্যবহার করব আমাদের ডিকশনারি ফরম্যাট করতে:

formatted = json.dumps(scone, indent=4)
print(formatted)

আমরা json.dumps() মেথড কল করার সময় দুটি প্যারামিটার স্পেসিফাই করি: যে ডিকশনারি ফরম্যাট করতে চাই তার নাম এবং প্রতিটি ইন্ডেন্ট কত স্পেস হবে। এই উদাহরণে, প্রতিটি ইন্ডেন্ট চার স্পেস লম্বা হবে।

এরপর, ফরম্যাটেড ডিকশনারি দেখতে print() স্টেটমেন্ট ব্যবহার করি। প্রোগ্রাম এক্সিকিউট করি যাতে আমরা আমাদের ডিকশনারি দেখতে পাই:

{
    "self-raising flour": "350g",
    "baking powder": "1 tbsp",
    "butter": "85g",
    "caster sugar": "3 tbsp",
    "milk": "175ml",
    "egg": "1 whole"
}

আমাদের কোড আমাদের ইনগ্রিডিয়েন্টের লিস্ট দেখাচ্ছে।

পাইথন: নেস্টেড ডিকশনারি প্রিন্ট করা

"নেস্টেড ডিকশনারি" হলো "একটি ডিকশনারি অন্য ডিকশনারির ভিতরে" বলার আরেকটি উপায়।

আপনি json.dumps() মেথড এবং print() স্টেটমেন্ট ব্যবহার করে নেস্টেড ডিকশনারি প্রিন্ট করতে পারেন, অথবা আপনি for লুপ ব্যবহার করতে পারেন। for লুপ মেথড আমাদের আগের উদাহরণের মত কিন্তু আমাদের কোড একটু পরিবর্তন করতে হবে।

ধরুন, ইনগ্রিডিয়েন্টগুলো একটি ডিকশনারির ভিতরে ডিকশনারিতে আছে:

recipes = {
    "scone": {
        "self-raising flour": "350g",
        "baking powder": "1 tbsp",
        "butter": "85g",
        "caster sugar": "3 tbsp",
        "milk": "175ml",
        "egg": "1 whole"
    }
}

আমাদের "scone" ডিকশনারির আইটেম অ্যাক্সেস করতে, আমাদের প্রথমে "scone" কী রেফারেন্স করতে হবে। কনসোলে ডিকশনারি প্রিন্ট করতে, আমরা দুটি for লুপ ব্যবহার করি:

for key, value in recipes.items():
    print(key)
    for k, v in value.items():
        print(k, v)

প্রথম for লুপ আমাদের "recipes" ডিকশনারির ওপর ইটারেট করে। দ্বিতীয় for লুপ আমাদের "recipes" ডিকশনারিতে থাকা প্রতিটি ডিকশনারির ওপর ইটারেট করে। আমাদের কোড রান করি:

scone
self-raising flour 350g
baking powder 1 tbsp
butter 85g
caster sugar 3 tbsp
milk 175ml
egg 1 whole

আমাদের কোড সফলভাবে আমাদের "recipes" ডিকশনারির কন্টেন্ট এবং "scone" ডিকশনারির কন্টেন্ট প্রিন্ট করল।

উপসংহার

আপনি পাইথনে for লুপ বা json মডিউল ব্যবহার করে ডিকশনারি প্রিন্ট করতে পারেন। for লুপ পদ্ধতি সেরা যদি আপনি কনসোলে ডিকশনারির কন্টেন্ট ডিসপ্লে করতে চান, আর json মডিউল পদ্ধতি ডেভেলপার ইউজ কেসের জন্য আরও উপযোগী।

আপনি নেস্টেড ডিকশনারি কনসোলে প্রিন্ট করতে এই দুটি মেথডই ব্যবহার করতে পারেন।

এখন আপনি এক্সপার্ট ডেভেলপারের মত পাইথন কনসোলে ডিকশনারি প্রিন্ট করার জন্য প্রস্তুত!

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

  2. পাইথনে ডিকশনারি সর্ট করার পদ্ধতি

  3. পাইথনে প্যাটার্ন প্রিন্ট করার পদ্ধতি

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