Eu tenho um valor inteiro x
, e eu preciso verificar se ele está entre um start
e end
valores, então eu escrevo as seguintes declarações:
if x >= start and x <= end:
# do stuff
Essa declaração é sublinhada e a dica de ferramenta diz que devo
simplifique a comparação encadeada
Tanto quanto posso dizer, essa comparação é tão simples quanto possível. O que eu perdi aqui?
Respostas:
No Python, você pode "encadear" operações de comparação, o que significa que elas são "e" editadas juntas. No seu caso, seria assim:
Referência: https://docs.python.org/3/reference/expressions.html#comparisons
fonte
x == y and y == z
.Pode ser reescrito como:
Ou:
fonte
if x in range(...)
, consulte " Por que" 1000000000000000 no intervalo (1000000000000001) "é tão rápido no Python 3? ".Simplificação do código
fonte