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

পাইথনে ১D লিস্টকে ভেরিয়েবল দৈর্ঘ্যের ২D লিস্টে কনভার্ট করা

পাইথনে লিস্ট সাধারণত ১D হয় যেখানে এলিমেন্টগুলো একের পর এক থাকে। কিন্তু ২D লিস্টে আউটার লিস্টের ভেতরে নেস্টেড লিস্ট থাকে। এই আর্টিকেলে আমরা দেখব কিভাবে একটি ১D লিস্ট থেকে ২D লিস্ট তৈরি করা যায়। আমরা ২D লিস্টের প্রতিটি সাব-লিস্টের দৈর্ঘ্য প্রোগ্রামে দিব।

append এবং index ব্যবহার করে

এই পদ্ধতিতে আমরা একটি ফর লুপ চালিয়ে ২D লিস্টের প্রতিটি এলিমেন্টকে ইনডেক্স হিসেবে ব্যবহার করব নতুন লিস্ট তৈরির জন্য। ইনডেক্স ভ্যালু শূন্য থেকে শুরু করে ২D লিস্টের এলিমেন্ট যোগ করলে ইনক্রিমেন্ট হবে।

উদাহরণ

# 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 list is: \n", res)

উপরের কোড রান করলে নিচের রেজাল্ট মিলবে:

আউটপুট

The new 2D list is: [['Sun', 'Mon'], ['Tue', 'Wed', 'Thu', 'Fri']]

islice ব্যবহার করে

islice ফাংশন ব্যবহার করে একটি লিস্ট নির্দিষ্ট সংখ্যক এলিমেন্ট দিয়ে স্লাইস করা যায়। এখানে ২D লিস্টের প্রতিটি এলিমেন্টের মান দিয়ে মূল লিস্ট স্লাইস করা হয়। এতে 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 list is: \n", res)

উপরের কোড রান করলে নিচের রেজাল্ট মিলবে:

আউটপুট

The new 2D list is: [['Sun', 'Mon', 'Tue'], ['Wed', 'Thu']]
  1. পাইথনে স্ট্রিংয়ের তালিকা থেকে তালিকার তালিকা তৈরি করা

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

  3. পাইথনে লিস্টকে স্ট্রিংে কনভার্ট করা

  4. Python Dictionary কে লিস্টে রূপান্তর করা