এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে জানব৷
সমস্যা বিবৃতি − আমাদের একটি স্ট্রিং ইনপুট দেওয়া হয়েছে, আমাদের এটিকে অভিধান টাইপে রূপান্তর করতে হবে
এখানে আমরা বিল্ট-ইন dict() ফাংশন ব্যবহার না করে সমস্যা সমাধানের দুটি পদ্ধতি নিয়ে আলোচনা করব।
পদ্ধতি 1 - eval() পদ্ধতি ব্যবহার করে
ইভাল পদ্ধতি তখনই ব্যবহৃত হয় যখন সিনট্যাক্স বা স্ট্রিং গঠন অভিধানের মত হয়। অভিধানে স্ট্রিংয়ের সরাসরি রূপান্তর সেই ক্ষেত্রে ঘটতে পারে যেমন নীচে আলোচনা করা হয়েছে।
উদাহরণ
# String string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}" # eval() function 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
পদ্ধতি 2 - জেনারেটর ফাংশন ব্যবহার করে
যদি আমরা একটি স্ট্রিং ইনপুট পাই যা একটি অভিধানের সিনট্যাক্সের সাথে সাদৃশ্যপূর্ণ তাহলে জেনারেটর এক্সপ্রেশনের সাহায্যে আমরা এটিকে একটি অভিধানে রূপান্তর করতে পারি।
উদাহরণ
string = "T-3 , U-2 , T-1 , O-4 , R-5" # Converting string to dictionary 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
উপসংহার
এই নিবন্ধে, আমরা শিখেছি কিভাবে আমরা একটি স্ট্রিং থেকে একটি অভিধান তৈরি করতে পারি।