পাইথনে ডিকশনারি (Dictionary) হলো একটি মিউটেবল (পরিবর্তনযোগ্য) ডেটা স্ট্রাকচার, যা Key-Value (চাবি ও মান) জোড়া হিসেবে ডেটা সংরক্ষণ করে। এর পেছনে মূলত Hashing (হ্যাশিং) মেকানিজম কাজ করে, যার ফলে ডিকশনারি থেকে খুব দ্রুত (প্রায় O(1) সময়ে) ডেটা খুঁজে বের করা যায়।
ডিকশনারিকে দ্বিতীয় বন্ধনী {} দিয়ে প্রকাশ করা হয় এবং প্রতিটি Key ও Value-কে কোলন : দ্বারা আলাদা করা হয়।
ডিকশনারি কীভাবে কাজ করে? (মূল নিয়মাবলী)
• অনন্য চাবি (Unique Keys): একটি ডিকশনারিতে একই নামের দুটি Key থাকতে পারবে না। যদি আপনি একই Key দিয়ে নতুন মান বসান, তবে আগের মানটি মুছে যাবে (Overwrite হবে)।
• চাবির ধরন (Immutable Keys): ডিকশনারির Key অবশ্যই অপরিবর্তনশীল (Immutable) হতে হবে, যেমন: স্ট্রিং, সংখ্যা বা টিউপল। লিস্ট বা ডিকশনারিকে Key হিসেবে ব্যবহার করা যায় না।
• যেকোনো মান (Value Flexibility): Value হিসেবে যেকোনো ধরনের ডেটা (লিস্ট, ডিকশনারি, অবজেক্ট ইত্যাদি) রাখা যায় এবং একই Value একাধিক Key-তে থাকতে পারে।
একটি সহজ উদাহরণ ও অপারেশন:
python
# ১. ডিকশনারি তৈরি করা
student = {
"name": "রাকিব",
"age": 22,
"skills": ["Python", "Data Science"]
}
# ২. ডেটা রিড বা অ্যাক্সেস করা (Key দিয়ে)
print(student["name"]) # আউটপুট: রাকিব
print(student.get("age")) # আউটপুট: 22 (get ব্যবহার করা নিরাপদ, Key না থাকলে এরর দেয় না)
# ৩. নতুন ডেটা যোগ বা আপডেট করা
student["age"] = 23 # মান আপডেট হলো
student["city"] = "Dhaka" # নতুন Key-Value যোগ হলো
# ৪. ডেটা মুছে ফেলা
del student["skills"] # 'skills' কি-টি মুছে যাবে
Use code with caution.
ডিকশনারি লুপ করার উপায়:
python
# চাবি এবং মান একসাথে লুপ করা
for key, value in student.items():
print(f"{key}: {value}")