أحاول أن أجد القيمة القصوى لقائمة أو مجموعة تحتوي على قوائم أو مجموعات أخرى. فكرتي الأولى هي تسويتها ثم استخدام وظيفة max () للعثور على الحد الأقصى من القائمة الإجمالية ، لكني أواجه صعوبة في القيام بذلك. أي اقتراحات؟
على سبيل المثال ، لديك المجموعة: (1 ، 2 ، 3 ، (1 ، 2)) والناتج المتوقع سيكون 3
مثال آخر هو قائمة [1 ، (2 ، 3) ، [4 ، 5]] ويجب أن يكون الناتج 5
يستغرق ذلك اثنين باستخدام وظيفة التسوية واستدعائها:
def flatten(t):
output = []
for item in t:
if type(item) != type([]) or type(()):
output.append(item)
else:
output.extend(flatten(item))
return output
def max_val(t):
flatten(t)
return max(output)