সমস্যা বিবরণ
দুটি ডিকশনারির কমন কী (key) গুলো দিয়ে একটি নতুন ডিকশনারি তৈরি করতে হবে।
উদাহরণ
Input: dict_1 = {'A': 1, 'B': 2, 'C': 3}
dict_2 = {'A': 1, 'C': 4, 'D': 5}
Output: {'A': 1, 'C': 3}
পদ্ধতি ১: ডিকশনারি কম্প্রিহেনশন
প্রথম ডিকশনারির কী গুলো ইটারেট করে যেসব কী দ্বিতীয় ডিকশনারিতে আছে সেগুলো নিন।
dict_1 = {'A': 1, 'B': 2, 'C': 3}
dict_2 = {'A': 1, 'C': 4, 'D': 5}
# কমন কী গুলোর জন্য dict_1 এর ভ্যালু নিন
result = {key: dict_1[key] for key in dict_1 if key in dict_2}
print(result) # {'A': 1, 'C': 3}
পদ্ধতি ২: বিটওয়াইজ & অপারেটর
পাইথনে dict.items() & dict.items() দিয়ে কমন (key, value) পেয়ার গুলো বের করা যায়। নোট: এটি শুধু তখনই কাজ করে যখন ভ্যালুও একই হয়।
dict_1 = {'A': 1, 'B': 2, 'C': 3}
dict_2 = {'A': 1, 'C': 4, 'D': 5}
# শুধু কমন key-value পেয়ার
result = dict(dict_1.items() & dict_2.items())
print(result) # {'A': 1} (কারণ 'C'-র ভ্যালু আলাদা)
তুলনা
| পদ্ধতি | ব্যবহার | ফলাফল |
|---|---|---|
| Dictionary Comprehension | কমন কী, প্রথম ডিক্টের ভ্যালু | {'A': 1, 'C': 3} |
| Bitwise & on items() | কমন key-value পেয়ার | {'A': 1} |
উপসংহার
- যদি শুধু কী কমন চান এবং প্রথম ডিক্টের ভ্যালু নিতে চান → **Dictionary Comprehension**
- যদি কী এবং ভ্যালু দুটোই কমন চান → **Bitwise & operator**
- প্রয়োজন অনুযায়ী যেকোনো পদ্ধতি বেছে নিন