Un coffre-fort (max) de la fonction pour vider les listes

De l'évaluation,

max_val = max(a)

sera la cause de l'erreur,

ValueError: max() arg is an empty sequence

Est-il un meilleur moyen de protection contre cette erreur autre que try, except attraper?

a = []
try:
    max_val = max(a)
except ValueError:
    max_val = default 
  • Le default argument spécifie un objet de la déclaration si la condition itérable est vide.
  • Pourquoi vous ne post réponse comme réponse?!
  • parce que c'est trop simple.
  • Quel est le problème avec l'affichage des réponses qui sont "trop simple"? Maintenant, quelqu'un d'autre...
  • De toute façon si vous allez gérer l'erreur, vous devez utiliser except ValueError:, pas except:. Dans votre exemple, vous pourrez attraper TypeError: 'builtin_function_or_method' object is not subscriptable, alors peu importe quelle valeur a a, max_val sera à la fin False.
  • c'est vrai que je n'avais pas considéré que