Вот решение: вы передаете минимальное и максимальное значение в качестве параметра в рекурсивную функцию, как показано ниже:
my_array = [0, 1, 2, 3, 4, [3, 4, 5, 6, [5, 6, 7, 8, 9]]]
def get_min_max(my_list, min_val=False, max_val=False):
for num in my_list:
if isinstance(num, list):
min_val, max_val = get_min_max(num, min_val, max_val)
else:
if min_val is False or num < min_val:
min_val = num
if max_val is False or num > max_val:
max_val = num
return min_val, max_val
min_num, max_num = get_min_max(my_array)
print(min_num, max_num)
выход
0 9