নেস্টেড টাপল স্ট্রাকচারকে একলেভেলের টাপলে ফ্ল্যাটেন করতে রিকার্সিভ ফাংশন ব্যবহার করা হয়।
উদাহরণ
def flatten_tuple(nested):
# বেস কেস: ২-এলিমেন্ট টাপল যিনি নেস্টেড নয়
if isinstance(nested, tuple) and len(nested) == 2 and not isinstance(nested[0], tuple):
return (nested,)
result = []
for sub in nested:
result.extend(flatten_tuple(sub))
return tuple(result)
my_tuple = ((35, 46), ((67, 70), (8, 11), (10, 111)), ((21, 12), (3, 4)))
print("মূল টাপল:", my_tuple)
print("ফ্ল্যাটেন টাপল:", flatten_tuple(my_tuple))
আউটপুট
মূল টাপল: ((35, 46), ((67, 70), (8, 11), (10, 111)), ((21, 12), (3, 4))) ফ্ল্যাটেন টাপল: ((35, 46), (67, 70), (8, 11), (10, 111), (21, 12), (3, 4))
ব্যাখ্যা
flatten_tupleফাংশন রিকার্সিভভাবে নেস্টেড স্ট্রাকচার ট্রাভার্স করে।বেস কেস: ২-এলিমেন্ট নন-টাপল টাপল পাওয়ায় সেটিকে টাপলে র্যাপ করে রিটার্ন।
অন্যথায় প্রতিটি সাব-এলিমেন্টে রিকার্সন কল করে ফলাফল একসাথে করা হয়।
অंतে লিস্টকে টাপলে রূপান্তর করা হয়।