পাইথনের একটি তালিকা সাধারণত একটি 1D তালিকা যেখানে উপাদানগুলি একের পর এক তালিকাভুক্ত হয়। কিন্তু একটি 2D তালিকায় আমরা বাইরের তালিকার ভিতরে তালিকাটি নেস্ট করেছি। এই প্রবন্ধে আমরা দেখব কিভাবে একটি প্রদত্ত 1D তালিকা থেকে একটি 2D তালিকা তৈরি করা যায়। আমরা প্রোগ্রামে 2D তালিকার ভিতরে উপাদানের সংখ্যার জন্য মানও সরবরাহ করি।
অ্যাপেন্ড এবং ইনডেক্স ব্যবহার করে
এই পদ্ধতিতে আমরা 2D তালিকার প্রতিটি উপাদানের মাধ্যমে লুপ করার জন্য একটি লুপ তৈরি করব এবং নতুন তালিকা তৈরি করার জন্য এটিকে একটি সূচক হিসাবে ব্যবহার করব। আমরা সূচকের মানকে শূন্য থেকে শুরু করে এবং 2D তালিকা থেকে যে উপাদানটি পাই তাতে যোগ করে এটিকে বৃদ্ধি করতে থাকি।
উদাহরণ
# Given list listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] # Length of 2D lists needed len_2d = [ 2, 4] #Declare empty new list res = [] def convert(listA, len_2d): idx = 0 for var_len in len_2d: res.append(listA[idx: idx + var_len]) idx += var_len convert(listA, len_2d) print("The new 2D lis is: \n",res)
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
আউটপুট
The new 2D lis is: [[1, 2], [3, 4, 5, 6]]
ইসলাইস ব্যবহার করা
আইলাইস ফাংশনটি 2D তালিকার প্রয়োজন অনুসারে নির্দিষ্ট সংখ্যক উপাদান সহ একটি প্রদত্ত তালিকাকে টুকরো টুকরো করতে ব্যবহার করা যেতে পারে। তাই এখানে সপ্তাহে 2D তালিকার প্রতিটি উপাদানের মধ্য দিয়ে দেখেছি এবং সেই মানটি ব্যবহার করুন 2 মূল তালিকাকে স্লাইস করুন। islice ফাংশন ব্যবহার করার জন্য আমাদের itertools প্যাকেজ দরকার।
উদাহরণ
from itertools import islice # Given list listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] # Length of 2D lists needed len_2d = [ 3, 2] # Use islice def convert(listA, len_2d): res = iter(listA) return [list(islice(res,i)) for i in len_2d] res = [convert(listA, len_2d)] print("The new 2D lis is: \n",res)
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
আউটপুট
The new 2D lis is: [[['Sun', 'Mon', 'Tue'], ['Wed', 'Thu']]]