Manage empty list/invalid input when finding max/min value of list (Python) Manage empty list/invalid input when finding max/min value of list (Python) python python

Manage empty list/invalid input when finding max/min value of list (Python)


In Python 3.4, a default keyword argument has been added to the min and max functions. This allows a value of your choosing to be returned if the functions are used on an empty list (or another iterable object). For example:

>>> min([], default='no elements')'no elements'>>> max((), default=999)999>>> max([1, 7, 3], default=999) # 999 is not returned unless iterable is empty7

If the default keyword is not given, a ValueError is raised instead.


Specifying a default in earlier versions of Python:

max(lst or [0])max(lst or ['empty list'])


Catch and handle the exception.

try:    print(min(l), max(l))except (ValueError, TypeError):    print('empty list or invalid input')

ValueError is raised with an empty sequence. TypeError is raised when the sequence contains unorderable types.