This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Полезный совет: any и all в Python работают с генераторами и используют short-circuit
Иногда в python есть малоизвестные особенности, которые могут сильно помочь.
Например, функция all и any умеют работать не только с простыми списками, но и с генераторами. Это значит, что пайтон остановит проверку сразу, как только результат станет очевидным — это называется "шорт-сёркьют".
nums = [0, 0, 0, 5, 0]
#any (эни) вернёт True, как только найдёт первый элемент != 0
print(any(nums)) # True
#ll (ол) вернёт False, как только встретит первый элемент == 0
print(all(nums)) # False
#использование с генератором — не создаёт лишний список
print(any(x > 10 for x in nums)) # False
Это позволяет писать очень эффективный код без лишних проверок и без создания промежуточных списков.
@Python_Community_ru
Иногда в python есть малоизвестные особенности, которые могут сильно помочь.
Например, функция all и any умеют работать не только с простыми списками, но и с генераторами. Это значит, что пайтон остановит проверку сразу, как только результат станет очевидным — это называется "шорт-сёркьют".
nums = [0, 0, 0, 5, 0]
#any (эни) вернёт True, как только найдёт первый элемент != 0
print(any(nums)) # True
#ll (ол) вернёт False, как только встретит первый элемент == 0
print(all(nums)) # False
#использование с генератором — не создаёт лишний список
print(any(x > 10 for x in nums)) # False
Это позволяет писать очень эффективный код без лишних проверок и без создания промежуточных списков.
@Python_Community_ru