"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment limiter les valeurs dans une plage de manière concise en Python ?

Comment limiter les valeurs dans une plage de manière concise en Python ?

Publié le 2024-11-08
Parcourir:768

How to Clamp Values within a Range Concisely in Python?

Clampage des valeurs dans une plage en Python

Lorsque vous travaillez avec des données numériques, il est souvent nécessaire de s'assurer que les valeurs restent dans une plage spécifique. Bien que les vérifications conditionnelles explicites soient une méthode courante, elles peuvent devenir verbeuses et lourdes. Heureusement, Python fournit des solutions plus concises et élégantes pour cette tâche.

Une façon de limiter les valeurs consiste à utiliser les fonctions intégrées max() et min(). Ces fonctions prennent plusieurs arguments et renvoient respectivement la valeur la plus grande ou la plus petite. En chaînant ces fonctions, vous pouvez imposer une limite inférieure et supérieure sur une valeur :

new_index = max(0, min(new_index, len(mylist)-1))

Cette expression calcule new_index comme le maximum de 0 et le minimum de new_index et len(mylist)-1. Cela bloque efficacement new_index dans les limites de la liste.

Par exemple, si new_index est -1, il sera limité à 0, qui est la limite inférieure. Si new_index vaut 10 et len(mylist) vaut 5, il sera limité à 4, qui est la limite supérieure moins un.

Vous pouvez également utiliser les fonctions max() et min() avec des expressions conditionnelles ternaires. pour une compacité encore plus grande, mais la lisibilité peut en souffrir :

new_index = 0 if new_index 

Cette expression utilise l'opérateur inférieur à (

N'oubliez pas que la clarté et la lisibilité doivent avoir la priorité sur une extrême brièveté. L'ajout d'un commentaire concis à côté du code peut aider les autres à comprendre l'intention derrière la logique de verrouillage :

# Clamp new_index within the bounds of the list
new_index = max(0, min(new_index, len(mylist)-1))
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729158017. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3