Создание коллекций из выражения-генератора (ч.2)
Написание выражения-генератора сразу внутри скобок вызываемой функции создания коллекции.
#theory // Just Python
Написание выражения-генератора сразу внутри скобок вызываемой функции создания коллекции.
#theory // Just Python
Использование with для автоматического закрытия файлов
В Python конструкция with позволяет автоматически управлять ресурсами, такими как файлы, гарантируя их корректное закрытие после завершения работы с ними. Это избавляет от необходимости вручную закрывать файлы и предотвращает возможные ошибки, связанные с их неправильным закрытием.
Использование конструкции with для работы с файлами улучшает читаемость кода и делает его более надежным, автоматически управляя жизненным циклом ресурсов.
#theory // Just Python
В Python конструкция with позволяет автоматически управлять ресурсами, такими как файлы, гарантируя их корректное закрытие после завершения работы с ними. Это избавляет от необходимости вручную закрывать файлы и предотвращает возможные ошибки, связанные с их неправильным закрытием.
Использование конструкции with для работы с файлами улучшает читаемость кода и делает его более надежным, автоматически управляя жизненным циклом ресурсов.
#theory // Just Python
⚡️Лёгких денег в бизнесе не бывает
❗️ Многие думают: запустил дело — и пошло. Деньги капают, процессы делегированы, жизнь удалась.
А потом внезапно — кассовый разрыв, мёртвая ниша и минус на счёте.
84% бизнесов прогорают именно так — не из-за налогов или конкурентов, а из-за непонимания, как реально работает рынок и банки.
Канал Бизнесовый — про настоящую сторону предпринимательства. Без глянца и псевдоуспеха. Автор разбирает, как мыслить системно, выстраивать процессы и зарабатывать не на хайпе, а на опыте.
Хочешь перестать быть в числе 84%?
Подписывайся — https://t.iss.one/+cfit7wtolMtkNDhi
❗️ Многие думают: запустил дело — и пошло. Деньги капают, процессы делегированы, жизнь удалась.
А потом внезапно — кассовый разрыв, мёртвая ниша и минус на счёте.
84% бизнесов прогорают именно так — не из-за налогов или конкурентов, а из-за непонимания, как реально работает рынок и банки.
Канал Бизнесовый — про настоящую сторону предпринимательства. Без глянца и псевдоуспеха. Автор разбирает, как мыслить системно, выстраивать процессы и зарабатывать не на хайпе, а на опыте.
Хочешь перестать быть в числе 84%?
Подписывайся — https://t.iss.one/+cfit7wtolMtkNDhi
Использование Counter из модуля collections для подсчета элементов
Модуль collections в Python предоставляет класс Counter, который позволяет легко подсчитывать количество вхождений элементов в итерируемом объекте. Это полезно для анализа данных, работы с текстами и любых задач, связанных с подсчетом частоты элементов.
Использование Counter из модуля collections позволяет значительно упростить и ускорить задачи, связанные с подсчетом элементов, делая код более чистым и эффективным
#theory // Just Python
Модуль collections в Python предоставляет класс Counter, который позволяет легко подсчитывать количество вхождений элементов в итерируемом объекте. Это полезно для анализа данных, работы с текстами и любых задач, связанных с подсчетом частоты элементов.
Использование Counter из модуля collections позволяет значительно упростить и ускорить задачи, связанные с подсчетом элементов, делая код более чистым и эффективным
#theory // Just Python
Работа с enumerate()
Иногда в условиях задачи в условии-фильтре нужна не проверка значения текущего элемента, а проверка на определенную периодичность, то есть, например, нужно брать каждый третий элемент.
Для подобных задач можно использовать функцию enumerate(), задающую счетчик при обходе итератора в цикле.
#theory // Just Python
Иногда в условиях задачи в условии-фильтре нужна не проверка значения текущего элемента, а проверка на определенную периодичность, то есть, например, нужно брать каждый третий элемент.
Для подобных задач можно использовать функцию enumerate(), задающую счетчик при обходе итератора в цикле.
#theory // Just Python
Перебор части итерируемого.
Иногда бывает задача из очень большой коллекции или даже бесконечного генератора получить выборку первых нескольких элементов, удовлетворяющих условию.
Если мы используем обычное генераторное выражение с условием ограничением по enumerate() индексу или срез полученной результирующей коллекции, то нам в любом случае придется пройти всю огромную коллекцию и потратить на это уйму компьютерных ресурсов.
Выходом может быть использование функции islice() из пакета itertools.
#theory // Just Python
Иногда бывает задача из очень большой коллекции или даже бесконечного генератора получить выборку первых нескольких элементов, удовлетворяющих условию.
Если мы используем обычное генераторное выражение с условием ограничением по enumerate() индексу или срез полученной результирующей коллекции, то нам в любом случае придется пройти всю огромную коллекцию и потратить на это уйму компьютерных ресурсов.
Выходом может быть использование функции islice() из пакета itertools.
#theory // Just Python
Вложенный генератор внутри генератора — двумерная из двух одномерных
Общий синтаксис: [[expression for y in iter2] for x in iter1]
Применение: генерируем двумерную структуру, используя данные из двух одномерных итераторов.
#theory // Just Python
Общий синтаксис: [[expression for y in iter2] for x in iter1]
Применение: генерируем двумерную структуру, используя данные из двух одномерных итераторов.
#theory // Just Python
Вложенные циклы for где циклы идут по независимым итераторам
Общий синтаксис: [expression for x in iter1 for y in iter2]
Применение: генерируем одномерную структуру, используя данные из двух итераторов.
#theory // Just Python
Общий синтаксис: [expression for x in iter1 for y in iter2]
Применение: генерируем одномерную структуру, используя данные из двух итераторов.
#theory // Just Python
Генератор итерирующийся по генератору
Так как любой генератор может использоваться как итератор в цикле for, это так же можно использовать и для создания генератора по генератору.
При этом синтаксически это может записываться в два выражения или объединяться во вложенный генератор.
#theory // Just Python
Так как любой генератор может использоваться как итератор в цикле for, это так же можно использовать и для создания генератора по генератору.
При этом синтаксически это может записываться в два выражения или объединяться во вложенный генератор.
#theory // Just Python
Вложенный генератор внутри генератора — двумерная из двумерной
Общий синтаксис: [[expression for y in x] for x in iterator]
Применение: Обходим двумерную структуру данных, сохраняя результат в другую двумерную структуру.
#theory // Just Python
Общий синтаксис: [[expression for y in x] for x in iterator]
Применение: Обходим двумерную структуру данных, сохраняя результат в другую двумерную структуру.
#theory // Just Python
Быстрое получение диапазона дат
При работе с временными данными часто возникает необходимость создать диапазон дат, например, для анализа данных за определенный период или генерации отчетов. Используя библиотеку Pandas, это можно сделать быстро и удобно.
Этот лайфхак помогает быстро создать список всех дат в заданном диапазоне. Он будет особенно полезен для аналитиков данных, специалистов по бизнес-аналитике и разработчиков, работающих с временными рядами или данными, завязанными на даты.
#theory // Just Python
При работе с временными данными часто возникает необходимость создать диапазон дат, например, для анализа данных за определенный период или генерации отчетов. Используя библиотеку Pandas, это можно сделать быстро и удобно.
Этот лайфхак помогает быстро создать список всех дат в заданном диапазоне. Он будет особенно полезен для аналитиков данных, специалистов по бизнес-аналитике и разработчиков, работающих с временными рядами или данными, завязанными на даты.
#theory // Just Python
Быстрая замена значений в столбце DataFrame на основе условий
Когда у вас есть DataFrame и вам нужно заменить значения в столбце на основе определенных условий, вместо использования циклов, можно воспользоваться методом np.where из библиотеки NumPy.
Этот лайфхак помогает заменить значения в столбце DataFrame на основе заданных условий, избегая использования циклов и делая код более читаемым и эффективным. Он будет особенно полезен для аналитиков данных и всех, кто работает с большими наборами данных, где требуется производить массовые изменения данных на основе условий.
#theory // Just Python
Когда у вас есть DataFrame и вам нужно заменить значения в столбце на основе определенных условий, вместо использования циклов, можно воспользоваться методом np.where из библиотеки NumPy.
Этот лайфхак помогает заменить значения в столбце DataFrame на основе заданных условий, избегая использования циклов и делая код более читаемым и эффективным. Он будет особенно полезен для аналитиков данных и всех, кто работает с большими наборами данных, где требуется производить массовые изменения данных на основе условий.
#theory // Just Python
Оператор морж (:=) или способ записывать данные в переменную о котором вы не знали
Начиная с Python 3.8, появился новый синтаксис под названием «оператор морж» или walrus operator, который может присваивать значения переменным как часть более крупного выражения.
Оператор := получил свое милое название из-за глаз и бивней моржа.
#theory // Just Python
Начиная с Python 3.8, появился новый синтаксис под названием «оператор морж» или walrus operator, который может присваивать значения переменным как часть более крупного выражения.
Оператор := получил свое милое название из-за глаз и бивней моржа.
#theory // Just Python
Быстрая сортировка словаря по значениям
Иногда вам нужно отсортировать словарь по значениям вместо ключей. Этот лайфхак поможет сделать это быстро и эффективно.
Этот лайфхак позволяет быстро и легко сортировать словари по значениям, что может быть полезно для анализа данных, построения отчетов и упорядочивания информации. Например, он будет полезен аналитикам данных, разработчикам, работающим с различными метриками и значениями, а также тем, кто хочет улучшить читаемость и управляемость данных.
#theory // Just Python
Иногда вам нужно отсортировать словарь по значениям вместо ключей. Этот лайфхак поможет сделать это быстро и эффективно.
Этот лайфхак позволяет быстро и легко сортировать словари по значениям, что может быть полезно для анализа данных, построения отчетов и упорядочивания информации. Например, он будет полезен аналитикам данных, разработчикам, работающим с различными метриками и значениями, а также тем, кто хочет улучшить читаемость и управляемость данных.
#theory // Just Python
Быстрое логирование с декоратором
Логирование помогает отслеживать выполнение кода и выявлять ошибки. Вместо того чтобы добавлять логирование вручную в каждую функцию, можно использовать декоратор, который автоматически будет логировать вызовы функций.
Этот лайфхак помогает автоматически логировать вызовы функций, что упрощает отладку и мониторинг кода. Он особенно полезен для разработчиков, работающих над большими проектами, где нужно отслеживать множество функций, а также для тех, кто хочет улучшить читаемость и поддержку кода, обеспечивая централизованное логирование.
#theory // Just Python
Логирование помогает отслеживать выполнение кода и выявлять ошибки. Вместо того чтобы добавлять логирование вручную в каждую функцию, можно использовать декоратор, который автоматически будет логировать вызовы функций.
Этот лайфхак помогает автоматически логировать вызовы функций, что упрощает отладку и мониторинг кода. Он особенно полезен для разработчиков, работающих над большими проектами, где нужно отслеживать множество функций, а также для тех, кто хочет улучшить читаемость и поддержку кода, обеспечивая централизованное логирование.
#theory // Just Python
Избегайте вложенных циклов с помощью product
Когда программа становится сложной, неизбежно приходится писать вложенные циклы. Однако вложенные циклы делают программы более сложными для чтения и сопровождения.
К счастью, в Python всегда можно избежать вложенных циклов с помощью встроенной функции
#theory // Just Python
Когда программа становится сложной, неизбежно приходится писать вложенные циклы. Однако вложенные циклы делают программы более сложными для чтения и сопровождения.
К счастью, в Python всегда можно избежать вложенных циклов с помощью встроенной функции
product().#theory // Just Python
Используем * для мерджа списка, кортежа и множества в одну строчку
Для того, чтобы это сделать самый элегантный способ - использование *
Звездочки можно использовать в качестве префиксов для распаковки их элементов. Но помимо распаковки, звездочки также можно использовать для деструктуризации присваиваний в Python.
#theory // Just Python
Для того, чтобы это сделать самый элегантный способ - использование *
Звездочки можно использовать в качестве префиксов для распаковки их элементов. Но помимо распаковки, звездочки также можно использовать для деструктуризации присваиваний в Python.
#theory // Just Python
Самый легкий способ мерджить словари
Слияние словарей - частое действие в программировании на Python. Существует множество способов сделать это. Но все они были уродливы до версии Python 3.9.
Начиная с Python 3.9, мы наконец-то получили самый элегантный способ объединения словарей - использование операторов объединения.
#theory // Just Python
Слияние словарей - частое действие в программировании на Python. Существует множество способов сделать это. Но все они были уродливы до версии Python 3.9.
Начиная с Python 3.9, мы наконец-то получили самый элегантный способ объединения словарей - использование операторов объединения.
#theory // Just Python
Используем встроенные функции в Python для написания стандартной логики (ч.1)
В Python есть несколько встроенных функций, которые помогают при написании некоторых стандартных логических операций.
Например, функция
#theory // Just Python
В Python есть несколько встроенных функций, которые помогают при написании некоторых стандартных логических операций.
Например, функция
map() - известная и часто используемая функция. Она получает два параметра, один из которых - функция, а другой - итератор. При выполнении функции map функция применяется к каждому элементу в итераторе.#theory // Just Python