পাইথনে ডিকশনারি সবচেয়ে বেশি ব্যবহৃত কালেকশন ডেটা টাইপের একটি। এটি কি-ভ্যালু পেয়ার হিসেবে রিপ্রেজেন্ট করা হয়। কি-গুলো ইনডেক্সড কিন্তু ভ্যালুগুলো নাও হতে পারে। পাইথনে অনেক বিল্ট-ইন ফাংশন আছে যা ডিকশনারি ব্যবহার অনেক সহজ করে দেয়। এই টপিকে আমরা তিনটি বিল্ট-ইন মেথড update(), has_key() এবং fromkeys() দেখব।
update()
update() মেথড একটি দেয়া ডিকশনারিতে সেকেন্ডারি ডিকশনারির আইটেম মার্জ করে নতুন আইটেম যোগ করে।
সিনট্যাক্স
dict1.update(dict2) Where dict1 and dict2 are the two input dictionaries.
নিচের উদাহরণে আমরা ডিকশনারির জোড়া দেখি। সেকেন্ড ডিকশনারি ফার্স্ট ডিকশনারির আইটেমের সাথে যোগ হয়। কিন্তু সেকেন্ড ডিকশনারিতে কির নাম ভিন্ন থাকলে মার্জিংয়ের ইফেক্ট দেখা যায়।
উদাহরণ
dict1 = {'Place': 'Delhi', 'distance': 137}
dict2 = {'Temp': 41}
dict1.update(dict2)
print(dict1)
উপরের কোড রান করলে নিচের ফলাফল পাওয়া যায়:
{'Place': 'Delhi', 'distance': 137, 'Temp': 41}
has_key()
এই মেথড একটি কি ডিকশনারিতে আছে কিনা তা ভেরিফাই করে। এটি পাইথন ২-ওনلی ফিচার। পাইথন ৩-এ এই মেথড উপলব্ধ নয়।
সিনট্যাক্স
dict.has_key(key)
নিচের উদাহরণে আমরা কিছু কি দেওয়া ডিকশনারিতে আছে কিনা চেক করি।
উদাহরণ
dict1 = {'Place': 'Delhi', 'distance': 137}
dict2 = {'Temp': 41}
print(dict1.has_key('Place'))
print(dict2.has_key('Place'))
উপরের কোড রান করলে নিচের ফলাফল পাওয়া যায়:
আউটপুট
True False
dict.fromkeys(seq[, value]))
এই মেথডে আমরা একটি সিকোয়েন্স ভ্যালুকে ডিকশনারিতে কনভার্ট করি। আমরা একটি ভ্যালুও স্পেসিফাই করতে পারি যা প্রতিটি কির অংশ হয়ে যায়।
সিনট্যাক্স
dict.fromkeys(seq)
নিচের উদাহরণে আমরা একটি সিকোয়েন্স থেকে ডিকশনারি তৈরি করি এবং একটি ভ্যালু যোগ করি।
উদাহরণ
seq = {'Distance', 'Temp', 'Humidity'}
dict = dict.fromkeys(seq)
print(dict)
dict = dict.fromkeys(seq, 15)
print(dict)
উপরের কোড রান করলে নিচের ফলাফল পাওয়া যায়:
আউটপুট
{'Distance': None, 'Humidity': None, 'Temp': None}
{'Distance': 15, 'Humidity': 15, 'Temp': 15}