যখন রিকারশন টেকনিক ব্যবহার করে একটি প্রদত্ত নেস্টেড তালিকাকে সমতল করার প্রয়োজন হয়, তখন সাধারণ সূচীকরণ, এবং পুনরাবৃত্তির সাথে 'আইসিস্ট্যান্স' পদ্ধতি ব্যবহার করা যেতে পারে।
পুনরাবৃত্তি বড় সমস্যার ছোট বিটগুলির আউটপুট গণনা করে, এবং এই বিটগুলিকে একত্রিত করে বড় সমস্যার সমাধান দেয়৷
উদাহরণ
নীচে একই −
এর জন্য একটি প্রদর্শন রয়েছে৷def flatten_list(my_list):if my_list ==[]:my_list রিটার্ন করুন যদি isinstance(my_list[0], list):রিটার্ন flatten_list(my_list[0]) + flatten_list(my_list[1:]) রিটার্ন my_list[:1] + সমতল_তালিকা(আমার_তালিকা[1:])আমার_তালিকা =[[1,2],[3,4], [90, 11], [56, 78], [[34,56]]]প্রিন্ট("The তালিকা হল :")print(my_list)print("সমতল করার পরে তালিকা হল :")print(flatten_list(my_list))
আউটপুট
<প্রে> তালিকাটি হল :[[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]]সমতল করার পরে তালিকা হল:[1, 2 , 3, 4, 90, 11, 56, 78, 34, 56]ব্যাখ্যা
- 'flatten_list' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা একটি তালিকাকে প্যারামিটার হিসেবে নেয়।
- এটি তালিকার প্রথম উপাদানের ডেটা টাইপ দেখতে পরীক্ষা করে।
- যদি এটি একটি তালিকার সাথে মিলে যায়, তাহলে, প্রথম উপাদানটির সাথে দ্বিতীয় উপাদানটি শেষ উপাদানটির সাথে সংযুক্ত এবং প্রদর্শিত হয়৷
- এর ফলে একটি নেস্টেড তালিকা চ্যাপ্টা হয়ে যায়।
- অন্যথায়, প্রথম উপাদানটি বাদ দেওয়া হয়, এবং তালিকাটি প্রথমে উল্টে দেওয়া হয় এবং স্বাভাবিক তালিকাটি একত্রিত করা হয় এবং আউটপুট হিসাবে ফিরে আসে।
- ফাংশনের বাইরে, একটি নেস্টেড তালিকা সংজ্ঞায়িত করা হয় এবং কনসোলে প্রদর্শিত হয়৷
- পদ্ধতিটিকে প্যারামিটার হিসাবে তালিকা পাস করে বলা হয়।
- আউটপুট কনসোলে প্রদর্শিত হয়।