Генератор списков с if — магия чистого кода #python #coding #programming

preview_player
Показать описание

Когда нужно заменить все вхождения одного элемента в списке Python, многие новички пишут громоздкие циклы: перебирают список, сравнивают значения, добавляют в новый список — и только потом получают результат. Но в Python есть куда более красивое и удобное решение — генератор списка с условием.

С помощью конструкции `[new if x == old else x for x in list]` можно пройти по списку и заменить нужные значения за **одну строку**. Это не только ускоряет работу, но и делает код более читаемым, понятным и "питоничным". Особенно полезно, если ты обрабатываешь данные, чистишь массивы или готовишь входные значения для моделей или фильтров.

В видео ты увидишь сравнение: старый способ с циклом и новый способ с генератором. Такой подход экономит не только строки кода, но и твои нервы. И, конечно, он прекрасно сочетается с другими Python-фишками: вложенными условиями, `enumerate`, `zip`, `map`, `filter` и т.д.

Если хочешь писать чистый, современный Python — генераторы со встроенными условиями точно должны быть в твоем арсенале.

#shorts #short #python #pythoncode #pythontricks #learnpython #pythontips #developer #coding #programming #filter #filterfunction #pycoders #code #shorts #reels #tiktok #pythonforbeginners #codinglife #100daysofcode #tech #python3 #pythonhacks #devlife #automation #programminglife #python #списки #генераторысписков #лайфхаки #заменаэлементов #pythonдляначинающих #кодинг #разработка #чистыйкод #питон
Рекомендации по теме
Комментарии
Автор

Экономить надо не строчки кода, а место в памяти и вычислительные мощности. И то, и другое сэкономить на питоне невозможно, это уже не говоря о том, что такой код получается абсолютно нечитаемым, это не магия чистого кода, а магия генерации причин, по которым вас будут ненавидеть коллеги.


К тому же, если платят за строки их не экономить надо, а множить.

invinciblecame
Автор

По условию задачи не нужно создавать копию массива. Так что можно по индексам заменить двойки.

black_wolf_s
Автор

У тебя мешки под глазами или кожа слишком тонкая?

ClaudeMichaelis
Автор

Зачем вообще создавать new_list, если задача поставлена как "нужно поменять все двойки на 99", потом в numbers записывать new_list? Сложность алгоритма O(N*2), зачем такое, если можно за O(N), тоже самое и по памяти (N*2) вместо (N), гейниально

EgorArestovich
Автор

В чем прикол гнаться за уменьшением количества строк кода, что за мода новая. Ладно, когда это реально оптимизирует код и потребляет меньше памяти, но в питоне то в большинстве своем все как раз наоборот все происходит. Или раз у всех теперь по 16-32-64 гб оперативной, то можно память не жалеть? Сами хрень делают, еще и языковые модели учат этому. Итак все джуны сейчас с курсов идут, пишут 90% кода в чатегпт, так еще и в чатегпт из-за таких вот оптимизаторов код кривой.

viktorheinz
Автор

И на что ты потратил сэкономленные 3 секунды?

Valiazerdes
welcome to shbcf.ru