ডিকশনারি এবং সেট (Dictionaries & Sets)
ডিকশনারি — কী-ভ্যালু জোড় (Dictionaries — Key-Value Pairs)
ডিকশনারি হলো আপনার ফোনের কন্টাক্ট লিস্টের মতো। আপনি একজনের নাম (যা হলো key) খোঁজেন এবং তার ফোন নম্বরটি (value) পেয়ে যান। আপনি এখানে পজিশন বা ইনডেক্স অনুযায়ী খোঁজেন না — আপনি নাম দিয়ে খোঁজেন। আর এ কারণেই ডিকশনারিগুলো খুব দ্রুত ডেটা খুঁজে বের করতে পারে।
ডিকশনারি কার্লি ব্রেইস বা দ্বিতীয় বন্ধনী {} দিয়ে তৈরি করা হয় এবং কমা দিয়ে আলাদা করা key: value জোড় ব্যবহার করা হয়। কী (Key)-গুলো অবশ্যই অনন্য (unique) এবং অপরিবর্তনযোগ্য (যেমন স্ট্রিং, নম্বর বা ট্যুপল) হতে হবে। তবে মান বা ভ্যালু (Value) যেকোনো কিছুই হতে পারে।
ডিকশনারি তৈরি এবং ব্যবহার করা (Creating & Using Dictionaries)
CRUD — তৈরি করা, পড়া, আপডেট করা এবং মুছে ফেলা (Create, Read, Update, Delete)
ডিকশনারিগুলো মিউটেবল বা পরিবর্তনযোগ্য, তাই আপনি স্বাধীনভাবে নতুন এন্ট্রি যোগ করতে, আপডেট করতে এবং মুছে ফেলতে পারবেন। এই চারটি কাজ কীভাবে করা যায় তা নিচে দেখানো হলো:
ডিকশনারি পরিবর্তন করা (Modifying Dictionaries)
ডিকশনারির লুপ (Looping Through Dictionaries)
ডিকশনারিগুলো আপনাকে ইটারেট বা লুপ করার তিনটি উপায় দেয়: কী (keys), ভ্যালু (values), অথবা উভয়টির (items) ওপর দিয়ে। .items() মেথডটি সবচেয়ে বেশি ব্যবহার করা হয় — এর মাধ্যমে প্রতিটি লুপে (key, value)-এর একটি ট্যুপল পাওয়া যায়, যা আপনি সহজেই আনপ্যাক করে নিতে পারেন।
ইটারেটিং এবং কার্যকরী প্যাটার্ন (Iterating & Useful Patterns)
সেট — শুধু অনন্য (Unique) আইটেম (Sets — Unique Items Only)
সেট হলো অনন্য মার্বেলের ব্যাগের মতো — এখানে কোনো জিনিসের পুনরাবৃত্তি থাকতে পারবে না, এবং সংরক্ষণের কোনো নির্দিষ্ট ক্রম থাকে না। পুনরাবৃত্তি সরিয়ে ফেলতে, কোনো উপাদান আছে কি না তা দ্রুত যাচাই করতে, এবং গাণিতিক অপারেশন (যেমন ইউনিয়ন, ইন্টারসেকশন, ডিফারেন্স) করার জন্য সেট অত্যন্ত কার্যকর।
সেট এবং সেট অপারেশন (Sets & Set Operations)
x in my_set যাচাই করা অপূর্ব দ্রুত (blazing fast) কাজ করে (কনস্ট্যান্ট টাইমে), যেখানে x in my_list চেক করা লিস্টের আকার বাড়ার সাথে সাথে ধীর হয়ে যায়। যদি আপনাকে খুব ঘনঘন কোনো কিছু যাচাই করতে হয়, তবে প্রথমে আপনার লিস্টটিকে সেটে রূপান্তর করে নিন!ছোট কুইজ
পড়া চালিয়ে যান