break — полезная штука, когда нужно досрочно выйти из цикла. Но во многих случаях код можно сделать более читаемым и “питоничным”, используя встроенные инструменты Python.Вот несколько частых сценариев.
1. Проверить, есть ли значение в коллекции
Вместо цикла с
break:
is_purple = False
for color in colors:
if color == "purple":
is_purple = True
break
Используйте
in:
is_purple = "purple" in colors
Проще, короче и зачастую быстрее.
2. Проверить, подходит ли хотя бы один элемент
Было:
has_big_score = False
for score in scores:
if score > 100:
has_big_score = True
break
Стало:
has_big_score = any(
score > 100
for score in scores
)
А если нужно проверить, что все элементы подходят — используйте
all().3. Найти первый подходящий элемент
Вместо:
first_long_word = None
for word in words:
if len(word) > 4:
first_long_word = word
break
Можно:
first_long_word = next(
(word for word in words if len(word) > 4),
None
)
next() + generator expression позволяют сразу взять первое совпадение.4. Собирать элементы, пока условие истинно
Было:
result = []
for item in items:
if not item:
break
result.append(item)
Стало:
from itertools import takewhile
result = list(takewhile(bool, items))
takewhile() собирает элементы, пока условие возвращает True.Мини-шпаргалка:
✅ Проверить наличие →
in✅ Хоть один подходит →
any()✅ Все подходят →
all()✅ Найти первое совпадение →
next()✅ Собирать до условия →
itertools.takewhile()📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст