Рассмотрим обязательные для понимания и использования киллер-фичи Python, поговорим о плюсах-минусах, особенностях, когда и что использовать.
Основные моменты:
1) все компсы и генэксп работают по принципу
[ВЫРАЖЕНИЕ/ПРЕОБРАЗОВАНИЕ for element in ИСТОЧНИК if УСЛОВИЕ]
читается это слева направо, что важно когда циклов больше 1.
2) принцип работы операций у листкомпс и генэксп одинаков, синтаксически различаются скобками
3) компсы (листкомпс, сеткомпс, дикткомпс) в результате своей работы формируют соответствующую коллекцию и занимают память
4) переменные созданные внутри компсов или генэкспа недоступны извне
5) генэксп вернет объект, а не коллекцию! при создании объекта он проверит источник, что может быть критично, если это какая то функция. Если источник не валидный то ошибка упадет при создании генератора, а не при попытке получить значение
6) генэксп ленивый, то есть ничего не делает и не занимает память пока не потребуется значение. Сгенерировав значение снова засыпает пока опять не попросят новое.
7) генэксп одноразовый, при исчерпании начинает бросать исключение, которое мы не увидим, если используем генератор в цикле for
8) генэксп может потенциально генерировать бесконечные последовательности, но он ничего не знает о порядке элементов или о их количестве (нет len)
Лично мое мнение - если вам не нужна длина, слайсы, индексы, то нужно использовать генэскп, не только из-за экономии памяти, но и из-за ленивости, экономии процессорного времени.
Естественно важно помнить что даже pep-8 и дзен - это не закон, а рекомендации, наша конкретная реализация и подход должны диктоваться имеющимися условиями и решаемой задачей.
Полезные ссылки:
#list-comprehensions
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm
405 views
2281
668
2 weeks ago 00:02:26 1
Михаил Васильевич Алексеев. ВЕЛИКИЕ РУССКИЕ #важное #история #россия #русские
3 weeks ago 00:14:19 2
2024 09 24 15 28 00 +++ Мировой кризис 2026-2029гг. Геополитическая катастрофа США, ЕС, СССР
1 month ago 00:53:02 1
Даже торговля оружием не покроет ключевую ставку ЦБ. В чём логика Набиуллиной?
1 month ago 00:54:04 4
Банк жуликов: Как BCCI стал главным банком по отмыванию денег / Уроки истории @MINAEVLIVE
1 month ago 00:18:25 1
УБИЙСТВО И ПОГРОМ [69] РУССКАЯ ОБЩИНА #важное #община #новости #россия #втопе #дружина #коркино
1 month ago 00:17:57 1
Детальный обзор игры Delta Force/ главный конкурент DICE
1 month ago 04:13:11 1
The Last FARMER - Финал - Автоматическая турель - Последний фермер на земле
1 month ago 00:00:00 1
[Warframe] Стрим ПОМОЩЬ НОВИЧКАМ. Играю со зрителями, общение, ПЛАТИНА, фарм, розыгрыши. [Vtuber]
1 month ago 00:08:52 1
FPV дроны против Leopard 2A6 | FPV дрон в действии #3
1 month ago 01:38:50 2
🔥 ИСПОВЕДЬ СНАЙПЕРА: КАК ОДИН ВЫСТРЕЛ ПАРАЛИЗУЕТ И РУШИТ ПЛАНЫ КОМАНДИРОВ?!
1 month ago 00:00:58 1
Как носить в кобуре пистолет бесшумный индекс ГРАУ 6П9. #shorts #маратсутаев #6п9 #пб #шортс
1 month ago 00:00:00 17
STALKER: Radiophobia 3 (Ver. OGSR Engine) ☢ Интерактив #11
1 month ago 00:48:47 1
Планы тайного мирового правительства
1 month ago 00:00:49 1
Рекордный уровень ключевой ставки является серьезным тормозом для дальнейшего роста промышленности
1 month ago 00:39:34 1
НАХОДКИ В ЛЕСАХ. Обследую старую дорогу.
1 month ago 00:23:27 1
КТО ПОДСТАВИЛ РУССКУЮ ОБЩИНУ? #важное #община #россия #новости #втопе #дружина
1 month ago 00:13:10 1
Удар России по важным целям без использования стратегов стал реальностью - неизвестное оружие Су-57.
1 month ago 00:28:31 1
Тайна, которую сатана всеми силами от вас скрывает | Перри Стоун
1 month ago 00:30:56 1
Применение оружия сотрудниками полиции: Houston Police Department [Выпуск 198 2024]
1 month ago 00:52:44 1
Дипфейк вместо «звонка из банка»: как мошенники освоили нейросети (AI)
1 month ago 00:11:18 1
Крошечный рай на Земле, где нет ни тюрем, ни армии, ни своих денег