Фиксация значений в пределах диапазона в Python
При работе с числовыми данными часто необходимо следить за тем, чтобы значения оставались в пределах определенного диапазона. Хотя явные условные проверки являются распространенным методом, они могут стать многословными и громоздкими. К счастью, Python предоставляет более лаконичные и элегантные решения для этой задачи.
Один из способов фиксации значений — использование встроенных функций max() и min(). Эти функции принимают несколько аргументов и возвращают наибольшее или наименьшее значение соответственно. Объединив эти функции в цепочку, вы можете установить нижнюю и верхнюю границу значения:
new_index = max(0, min(new_index, len(mylist)-1))
Это выражение вычисляет new_index как максимальное значение 0 и минимальное значение new_index и len(mylist)-1. Это эффективно ограничивает new_index в границах списка.
Например, если new_index равен -1, он будет ограничен 0, что является нижней границей. Если new_index равен 10, а len(mylist) равен 5, он будет ограничен до 4, что является верхней границей минус один.
Вы также можете использовать функции max() и min() с троичными условными выражениями. для еще большей компактности, но читаемость может пострадать:
new_index = 0 if new_index Это выражение использует оператор «меньше» (
Помните, что ясность и читаемость должны иметь приоритет над предельной краткостью. Добавление краткого комментария к коду может помочь другим понять цель логики ограничения:
# Clamp new_index within the bounds of the list
new_index = max(0, min(new_index, len(mylist)-1))
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3