কম্পিউটার টিউটোরিয়াল

পাইথনে দिये गये লিস্টকে নেস্টেড লিস্টে রূপান্তর করা

কখনও কখনও লিস্টের উপাদানগুলোকে নিজে নিজে একটি লিস্ট হিসেবে রূপান্তর করার প্রয়োজন হয়। অর্থাৎ, একটি লিস্ট তৈরি করা যাতে তার উপাদানগুলোও লিস্ট হয়।

ইটারেশন (Iteration) ব্যবহার করে

এটি একটি সরল পদ্ধতি যেখানে লিস্টের প্রতিটি উপাদানকে নেওয়া হয় এবং সেটিকে লিস্ট ফরম্যাটে রূপান্তর করা হয়। এর জন্য একটি টেম্পোরারি লিস্ট ব্যবহার করা হয়। অবশেষে এই সব লিস্ট-রূপान्तরিত উপাদানগুলোকে একসাথে গ্রুপ করে আবশ্যক নেস্টেড লিস্ট তৈরি করা হয়।

উদাহরণ
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
print("Given list:\n", listA)
new_list = []  # Creating list of list format
for elem in listA:
    temp = elem.split(', ')
    new_list.append((temp))
# Final list
res = []
for elem in new_list:
    temp = []
    for e in elem:
        temp.append(e)
    res.append(temp)
# printing
print("The list of lists:\n", res)
আউটপুট

উপরোক্ত কোড রান করলে নিচের ফলাফল পাওয়া যাবে:

Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The list of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]
ast মডিউল ব্যবহার করে

আমরা পাইথনের absract syntax trees বা ast মডিউলটিও ব্যবহার করতে পারি। এর literal_eval ফাংশন প্রদত্ত লিস্টের উপাদানগুলোকে একসাথে রেখে নতুন লিস্টে রূপান্তর করে।

উদাহরণ
import ast
listA = ['"Mon","Tue"', '"Wed","Thu","Fri"']
print("Given list: \n", listA)
res = [list(ast.literal_eval(x)) for x in listA]  # New List
print("The list of lists:\n", res)
আউটপুট

উপরোক্ত কোড রান করলে নিচের ফলাফল পাওয়া যাবে:

Given list: ['"Mon","Tue"', '"Wed","Thu","Fri"']
The list of lists: [['Mon', 'Tue'], ['Wed', 'Thu', 'Fri']]
  1. পাইথনে স্ট্রিংয়ের তালিকা থেকে তালিকার তালিকা তৈরি করা

  2. পাইথনে নেস্টেড লিস্ট কম্প্রিহেনশন

  3. পাইথনে ক্যারেক্টারের লিস্টকে স্ট্রিংয়ে রূপান্তর করার প্রোগ্রাম

  4. পাইথনে লিস্টকে টাপলে কনভার্ট করবেন?