«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как лаконично зафиксировать значения в пределах диапазона в Python?

Как лаконично зафиксировать значения в пределах диапазона в Python?

Опубликовано 8 ноября 2024 г.
Просматривать:173

How to Clamp Values within a Range Concisely in Python?

Фиксация значений в пределах диапазона в 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))
Заявление о выпуске Эта статья перепечатана по адресу: 1729158017. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3