J'ai une valeur entière x
et je dois vérifier si elle se situe entre les valeurs a start
et end
, j'écris donc les instructions suivantes:
if x >= start and x <= end:
# do stuff
Cette déclaration est soulignée et l'info-bulle me dit que je dois
simplifier la comparaison chaînée
Pour autant que je sache, cette comparaison est aussi simple que possible. Qu'est-ce que j'ai raté ici?
Réponses:
En Python, vous pouvez "chaîner" les opérations de comparaison, ce qui signifie simplement qu'elles sont "et" éditées ensemble. Dans votre cas, ce serait comme ça:
Référence: https://docs.python.org/3/reference/expressions.html#comparisons
la source
x == y and y == z
.Il peut être réécrit comme:
Ou:
la source
if x in range(...)
, voir « Pourquoi« 1000000000000000 dans la plage (1000000000000001) »est-il si rapide dans Python 3? ».Simplification du code
la source