Прежде чем проводить какие-либо сравнения, необходимо сначала сгладить список, поскольку вы не можете сравнить list
с int
. Для этого вы можете создать рекурсивную функцию и передать свой список
def flatten(l):
return sum(([x] if not isinstance(x, list) else flatten(x) for x in l), [])
Помните, что list
в приведенном выше коде является защищенным именем Python и относится к типу данных списка. Эта функция сравнивает каждый элемент в списках и проверяет, является ли он типом списка. Если нет, он добавляет его в список, если он снова вызывает функцию и переходит к следующему элементу. Теперь вы можете запустить следующее:
>>> list1 = [1, 2, 3, 4, [5, 6, 7, 8]]
>>> flatten(list1)
>>> [1, 2, 3, 4, 5, 6, 7, 8]
Теперь вы можете запускать встроенные в Python функции max()
и min()
>>> max(flatten(list1))
>>> 8
>>> min(flatten(list1))
>>> 1