এই আর্টিকেলে আমরা নিচের সমস্যা স্টেটমেন্টের সমাধান শিখব।
সমস্যা স্টেটমেন্ট - আমাদের একটি স্ট্রিং ইনপুট দেওয়া আছে, আমাদের সেটিকে ডিকশনারি টাইপে কনভার্ট করতে হবে।
এখানে আমরা বিল্ট-ইন dict() ফাংশন ছাড়া দুটি মেথড আলোচনা করব।
মেথড ১ - eval() মেথড ব্যবহার
eval মেথড শুধু তখনই ব্যবহার করা যায় যখন স্ট্রিংয়ার সিনট্যাক্স বা ফরমেশন ডিকশনারির মতো হয়। সেক্ষেত্রে স্ট্রিং থেকে ডিকশনারি ডায়রেক্ট কনভার্সন হয়।
উদাহরণ
# স্ট্রিং
string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}"
# eval() ফাংশন
dict_string = eval(string)
print(dict_string)
print(dict_string['T'])
print(dict_string['T'])
আউটপুট
{'T': 3, 'U': 2, 'O': 4, 'R': 5}
3
3
মেথড ২ - জেনারেটর ফাংশন ব্যবহার
যদি স্ট্রিং ইনপুট ডিকশনারির সিনট্যাক্সের মতো হয়, তবে জেনারেটর এক্সপ্রেশন ব্যবহার করে সেটিকে ডিকশনারিতে কনভার্ট করা যায়।
উদাহরণ
string = "T-3 , U-2 , T-1 , O-4 , R-5"
# স্ট্রিং থেকে ডিকশনারি কনভার্ট
dict_string = dict((x.strip(), y.strip()) for x, y in (element.split('-') for element in string.split(', ')))
print(dict_string)
print(dict_string['T'])
print(dict_string['T'])
আউটপুট
{'T': '1', 'U': '2', 'O': '4', 'R': '5'}
1
1
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কীভাবে একটি স্ট্রিং থেকে ডিকশনারি তৈরি করা যায়।