Python Community
12.7K subscribers
1.28K photos
46 videos
15 files
769 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
加入频道
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