যখন একটি লিস্টের স্ট্রিংগুলোর মধ্যে নির্দিষ্ট ডিলিমিটার (বিভাজক) থাকে এবং সেগুলোকে টাপলের লিস্টে রূপান্তর করতে হয়, তখন লিস্ট কম্প্রিহেনশন এবং split() মেথড ব্যবহার করা হয়।
উদাহরণ
my_list = ["33-22", "13-44-81-39", "42-10-42", "36-56-90", "34-77-91"]
print("মূল লিস্ট:", my_list)
# লিস্ট সর্ট করা (ঐচ্ছিক)
my_list.sort()
print("সর্ট করা লিস্ট:", my_list)
# ডিলিমিটার
delimiter = "-"
# লিস্ট কম্প্রিহেনশন দিয়ে টাপলের লিস্টে রূপান্তর
result = [tuple(int(x) for x in s.split(delimiter)) for s in my_list]
print("ফলাফল:", result)
আউটপুট
মূল লিস্ট: ['33-22', '13-44-81-39', '42-10-42', '36-56-90', '34-77-91']
সর্ট করা লিস্ট: ['13-44-81-39', '33-22', '34-77-91', '36-56-90', '42-10-42']
ফলাফল: [(13, 44, 81, 39), (33, 22), (34, 77, 91), (36, 56, 90), (42, 10, 42)]
ব্যাখ্যা
s.split(delimiter)— প্রতিটি স্ট্রিংকে ডিলিমিটার দিয়ে ভাগ করেint(x) for x in ...— প্রতিটি অংশকে ইন্টিজারে রূপান্তর করেtuple(...)— ইন্টিজারগুলোর লিস্টকে টাপলে রূপান্তর করে- বাইরের লিস্ট কম্প্রিহেনশন — পুরো লিস্টের উপর এটি প্রয়োগ করে
ত্রুটি হ্যান্ডলিং সহ সংস্করণ
def safe_convert(lst, delimiter="-"):
result = []
for s in lst:
try:
parts = tuple(int(x) for x in s.split(delimiter))
result.append(parts)
except ValueError:
print(f"স্ট্রিং '{s}' কে ইন্টিজারে রূপান্তর করা যায়নি")
result.append(None)
return result
এটি বাস্তব অ্যাপ্লিকেশনে নিরাপদে ব্যবহার করা যাবে।