এই টিউটোরিয়ালে, আমরা পাইথনে ডিকশনারি কম্প্রিহেনশন কীভাবে ব্যবহার করতে হয় তা শিখব। যদি আপনি লিস্ট কম্প্রিহেনশন জানেন, তবে ডিকশনারি কম্প্রিহেনশন শিখতে আপনাকে অনেক সময় লাগবে না।
একটি ডিকশনারি তৈরি করতে কি-ভ্যালু পেয়ার দরকার। ডিকশনারি কম্প্রিহেনশন দিয়ে এই কি-ভ্যালু পেয়ারগুলো কীভাবে পাওয়া যায়? ডিকশনারি কম্প্রিহেনশনের সাধারণ সিনট্যাক্স নিচে দেওয়া হলো:
{key: value for ___ in iterable}
উপরোक्त সেটেমেন্টটি পূরণ করে ডিকশনারি কম্প্রিহেনশন সম্পন্ন করতে হয়। এটিকে পূরণ করার অনেক উপায় আছে। নিচে কিছু phổ llor উদাহরণ দেওয়া হলো।
চলুন দেখি ১০ পর্যন্ত সংখ্যাগুলোকে কি হিসেবে এবং তাদের বর্গকে ভ্যালু হিসেবে ডিকশনারি তৈরি করি। ফলাফলটি হবে: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}। নিচের কোডটি দেখুন।
উদাহরণ
# ডিকশনারি তৈরি
squares = {i: i ** 2 for i in range(10)}
# ডিকশনারি প্রিন্ট
print(squares)
আউটপুট
উপরোক্ত কোড রান করলে নিচের ফলাফল পাবেন:
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
দুটি লিস্ট থেকে ডিকশনারি কম্প্রিহেনশন দিয়ে ডিকশনারি কীভাবে তৈরি করব? আমরা zip মেথড ব্যবহার করে দুটি লিস্টের সমান্তরাল ভ্যালু পেতে পারি। চলুন [1, 2, 3, 4, 5] এবং ['a', 'b', 'c', 'd', 'e'] লিস্ট দুটি থেকে ডিকশনারি তৈরি করি।
উদাহরণ
# কি-গুলো
keys = ['a', 'b', 'c', 'd', 'e']
# ভ্যালু-গুলো
values = [1, 2, 3, 4, 5]
# লিস্ট দুটি থেকে ডিকশনারি তৈরি
dictionary = {key: value for (key, value) in zip(keys, values)}
# ডিকশনারি প্রিন্ট
print(dictionary)
আউটপুট
প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুট পাবেন:
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
একক লিস্ট থেকে enumerate মেথড ব্যবহার করে ইন্ডেক্সকে কি হিসেবে ডিকশনারি তৈরি করা যায়। চলুন দেখি কিভাবে করা যায়।
উদাহরণ
# ভ্যালু-গুলো
values = ['a', 'b', 'c', 'd', 'e']
# enumerate ব্যবহার করে ডিকশনারি তৈরি
dictionary = {key: value for (key, value) in enumerate(values)}
# ডিকশনারি প্রিন্ট
print(dictionary)
আউটপুট
উপরোক্ত কোড রান করলে নিচের আউটপুট পাবেন:
{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e'}
উপসংহার
আপনার প্রয়োজন অনুযায়ী ডিকশনারি কম্প্রিহেনশন ব্যবহার করতে পারেন। ডিকশনারি কম্প্রিহেনশন দক্ষতার সাথে শিখতে চাইলে যেখানে সম্ভব সেখানে এটি ব্যবহার করার চেষ্টা করুন। এই টিউটোরিয়াল সম্পর্কে আপনার কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।