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

পাইথন প্রোগ্রাম: রিকার্শন ব্যবহার করে নেস্টেড লিস্ট ফ্ল্যাটেন করা

রিকার্শন টেকনিক ব্যবহার করে একটি নেস্টেড লিস্ট ফ্ল্যাটেন করতে সিম্পল ইন্ডেক্সিং, এবং 'isinstance' মেথড ব্যবহার করা যায় রিকার্শনের সাথে।

রিকার্শন বড় সমস্যায় ছোট ছোট অংশে ভাগ করে ফলাফল বের করে, এবং এই অংশগুলোকে কম্বাইন করে বড় সমস্যার সমাধান দেয়।

উদাহরণ

নিচে ডেমোстран্স্ট্রেশন দেওয়া হলো:

def flatten_list(my_list):
    if my_list == []:
        return my_list
    if isinstance(my_list[0], list):
        return flatten_list(my_list[0]) + flatten_list(my_list[1:])
    return my_list[:1] + flatten_list(my_list[1:])

my_list = [[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]]
print("The list is :")
print(my_list)
print("The list after flattening is : ")
print(flatten_list(my_list))

আউটপুট

The list is : [[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]]
The list after flattening is : [1, 2, 3, 4, 90, 11, 56, 78, 34, 56]

ব্যাখ্যা

  • 'flatten_list' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা একটি লিস্ট প্যারামিটার হিসেবে নেয়।
  • এটি লিস্টের প্রথম এলিমেন্টের ডেটা টাইপ চেক করে।
  • যদি এটি লিস্ট থেকে ম্যাচ করে, তবে, প্রথম এলিমেন্ট সেই সাথে সেকেন্ড এলিমেন্ট থেকে লাস্ট এলিমেন্ট কনক্যাটেনেট করা হয়েছে এবং ডিসপ্লে করা হয়েছে।
  • এটি ফলস্বরূপ একটি নেস্টেড লিস্ট ফ্ল্যাটেন হয়।
  • অন্যথায়, প্রথম এলিমেন্ট বাদ দিয়ে, লিস্টটি প্রথমে রিভার্স করা হয় এবং নরমাল লিস্ট কম্বাইন করা হয়, এবং আউটপুট হিসেবে রিটার্ন করা হয়।
  • ফাংশনের বাইরে, একটি নেস্টেড লিস্ট সংজ্ঞায়িত করা হয়েছে, এবং কনসোলে ডিসপ্লে করা হয়েছে।
  • মেথডটি লিস্ট পাস করে কল করা হয়েছে।
  • আউটপুট কনসোলে ডিসপ্লে করা হয়েছে।
  1. পাইথন প্রোগ্রাম: রিকার্শন ব্যবহার করে নেস্টেড লিস্টের টোটাল সম বের করা

  2. পাইথন প্রোগ্রাম: রিকার্শন ব্যবহার করে স্ট্রিং রিভার্স করা

  3. পাইথন - ২D লিস্টকে ১D তে ফ্ল্যাটেন করার পদ্ধতিগুলো

  4. পাইথনে নেস্টেড লিস্ট ইটেরেটর ফ্ল্যাটেন করা