Mam wartość całkowitą x
i muszę sprawdzić, czy zawiera się między a, start
a end
więc piszę następujące instrukcje:
if x >= start and x <= end:
# do stuff
To oświadczenie zostaje podkreślone, a podpowiedź mówi mi, że muszę
uprościć porównanie łańcuchowe
O ile wiem, porównanie jest tak proste, jak tylko się da. Czego tu brakuje?
Odpowiedzi:
W Pythonie możesz „porównywać” operacje porównania, co oznacza, że są one „i” edytowane razem. W twoim przypadku wyglądałoby to tak:
Odniesienie: https://docs.python.org/3/reference/expressions.html#comparisons
źródło
x == y and y == z
.Można go przepisać jako:
Lub:
źródło
if x in range(...)
, zobacz „ Dlaczego„ 1000000000000000 w zakresie (1000000000000001) ”jest tak szybki w Pythonie 3? ”.Uproszczenie kodu
źródło