গভীর নেস্টেড লিস্টকে ফ্ল্যাটেন করে টাপল লিস্ট বানাতে রিকার্সিভ ফাংশন এবং isinstance চেক ব্যবহার করা হয়।
উদাহরণ
def convert_nested_tuple(my_list):
for elem in my_list:
if isinstance(elem, list):
convert_nested_tuple(elem)
else:
my_result.append(elem)
return my_result
my_list = [[[(3, 62)]], [[[(57, 49)]]], [[[[(12, 99)]]]]]
print("The list is :")
print(my_list)
my_result = []
my_result = convert_nested_tuple(my_list)
print("The list is :")
print(my_result)
আউটপুট
The list is : [[[(3, 62)]], [[[(57, 49)]]], [[[[(12, 99)]]]]]
The list is : [(3, 62), (57, 49), (12, 99)]
ব্যাখ্যা
convert_nested_tupleফাংশন একটি লিস্ট নেয়।- লিস্টের এলিমেন্টগুলো ইটেরেট করা হয়।
isinstance(elem, list)দিয়ে চেক করা হয় এলিমেন্ট লিস্ট কিনা।- যদি লিস্ট হয়, তবে রিকার্সিভলি ফাংশন কল করা হয়।
- যদি লিস্ট না হয় (টাপল হয়), তবে খালি লিস্টে অ্যাপেন্ড করা হয়।
- বাহিরে নেস্টেড লিস্ট ডিফাইন করে ফাংশন কল করা হয় এবং আউটপুট প্রিন্ট করা হয়।
নোট: my_result গ্লোবাল ভেরিয়েবল হিসেবে ব্যবহার করা হয়েছে। বেটার প্র্যাক্টিস হলো ফাংশনের ভিতরে লিস্ট পাস করা বা রিটার্ন করা।