una - funcion len python
Gestione la lista vacía/entrada no válida al encontrar el valor máximo/mínimo de la lista(Python) (3)
Estoy encontrando el valor máximo y el valor mínimo de una lista usando max(list)
y min(list)
en Python. Sin embargo, me pregunto cómo gestionar listas vacías.
Por ejemplo, si la lista es una lista vacía []
, el programa genera ''ValueError: min() arg is an empty sequence''
pero me gustaría saber cómo hacer que el programa imprima ''empty list or invalid input''
lugar de chocando ¿Cómo manejar esos errores?
Atrapa y maneja la excepción.
try:
print(min(l), max(l))
except (ValueError, TypeError):
print(''empty list or invalid input'')
ValueError
se plantea con una secuencia vacía. TypeError
se genera cuando la secuencia contiene tipos no ordenados.
En Python 3.4, se ha agregado un argumento de palabra clave default
a las funciones min
y max
. Esto permite que se devuelva un valor de su elección si las funciones se utilizan en una lista vacía (u otro objeto iterable). Por ejemplo:
>>> min([], default=''no elements'')
''no elements''
>>> max((), default=999)
999
>>> max([1, 7, 3], default=999) # 999 is not returned unless iterable is empty
7
Si no se proporciona la palabra clave default
, se ValueError
un ValueError
su lugar.
Especificando un valor predeterminado en versiones anteriores de Python:
max(lst or [0])
max(lst or [''empty list''])