Python tricks | Хитрости Питона
5.87K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

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

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Быстрая проверка уникальности элементов с помощью множества (set)

Когда вам нужно проверить, содержатся ли в списке только уникальные элементы, можно использовать множество (set). Множество автоматически удаляет дубликаты, и это может значительно ускорить проверку уникальности.

Использование множества для проверки уникальности – это эффективный способ ускорить процесс и сделать код более читаемым и компактным.

🔗 Python tricks
Использование тернарного оператора для компактных условий

В Python можно использовать тернарный оператор для написания условных выражений в одну строку, что делает код более кратким и читаемым. Это полезно, когда нужно вернуть значение на основе простого условия.

Тернарный оператор удобен для ситуаций, когда вам нужно написать небольшое условие без использования многострочных блоков if-else, улучшая читаемость кода.

🔗 Python tricks
Использование списка включений (list comprehension) для фильтрации и трансформации данных

Списки включений (list comprehension) позволяют быстро и лаконично создавать новые списки на основе существующих, применяя фильтрацию и трансформацию данных в одной строке. Это полезно для оптимизации кода, который требует создания новых списков по определённым условиям.

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

🔗 Python tricks
Использование метода get() для безопасного доступа к значениям словаря

При работе со словарями (dict) в Python, иногда нужно получить значение по ключу, который может отсутствовать. Вместо того чтобы проверять наличие ключа с помощью условия if, можно использовать метод get(), который возвращает значение по ключу, или значение по умолчанию, если ключа нет.

Использование метода get() позволяет избежать ошибок при работе с отсутствующими ключами и сделать код более чистым и удобным.

🔗 Python tricks
Использование zip() для одновременной итерации по нескольким спискам

Функция zip() позволяет одновременно перебирать несколько списков в Python, что удобно, когда нужно работать с несколькими последовательностями одинаковой длины. Это позволяет избежать использования индексов и делает код более читаемым.

Использование zip() — это быстрый и удобный способ параллельной обработки нескольких списков, который помогает сделать код проще и аккуратнее.

🔗 Python tricks
Использование defaultdict из модуля collections для упрощения работы со словарями

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

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

🔗 Python tricks
Использование Counter из модуля collections для подсчета элементов

Модуль collections в Python содержит класс Counter, который позволяет легко подсчитывать количество вхождений элементов в итерируемом объекте. Это может быть полезно при анализе данных, когда нужно узнать, сколько раз каждый элемент встречается в списке, строке или любом другом итерируемом объекте.

Counter — это эффективный инструмент для анализа данных и решения задач, связанных с подсчетом частоты появления элементов.

🔗 Python tricks
Быстрое объединение строк с помощью метода .join()

Когда нужно объединить несколько строк в одну, особенно из списка строк, метод .join() — это самый быстрый и эффективный способ. Он гораздо производительнее, чем использование оператора + для конкатенации в цикле, что делает его незаменимым для работы с текстовыми данными.

Использование .join() делает процесс объединения строк более лаконичным и производительным, что особенно важно при работе с большими объемами текстовых данных.

🔗 Python tricks
Быстрое объединение строк с помощью метода .join()

Когда нужно объединить несколько строк в одну, особенно из списка строк, метод .join() — это самый быстрый и эффективный способ. Он гораздо производительнее, чем использование оператора + для конкатенации в цикле, что делает его незаменимым для работы с текстовыми данными.

Использование .join() делает процесс объединения строк более лаконичным и производительным, что особенно важно при работе с большими объемами текстовых данных.

🔗 Python tricks
Использование тернарного оператора для упрощения условий

Тернарный оператор в Python — это компактный способ записи условных выражений. Он позволяет в одну строку записать простую проверку и выполнение одного из двух выражений в зависимости от условия.

Использование тернарного оператора помогает упростить простые условия, что делает код легче для восприятия и поддержания.

🔗 Python tricks
Использование оператора «:=» (моржовый оператор) для одновременного присваивания и проверки

Моржовый оператор :=, представленный в Python 3.8, позволяет выполнять присваивание внутри выражений. Это полезно, когда вам нужно одновременно присвоить значение переменной и использовать его в условии, что сокращает код и делает его более эффективным.

Моржовый оператор позволяет сократить дублирование кода и улучшить читаемость программы, что особенно полезно при работе с циклами и проверками.

🔗 Python tricks
Использование метода .get() для безопасного доступа к значениям словаря

Метод .get() позволяет безопасно получать значения из словаря в Python. Вместо того чтобы вызывать ключ напрямую и рисковать выбросом ошибки KeyError, если ключ не существует, .get() возвращает None или указанное значение по умолчанию.

Метод .get() позволяет сделать код более чистым, избежать ненужных проверок и исключений, делая работу со словарями более безопасной.

🔗 Python tricks
Использование функции zip() для параллельной итерации по нескольким спискам

Функция zip() позволяет объединять несколько списков и одновременно итерироваться по ним в цикле. Это удобно, когда нужно обработать данные из нескольких коллекций синхронно.

Использование zip() значительно упрощает работу с несколькими списками, делая код лаконичным и удобным для понимания.

🔗 Python tricks
Списковые включения (List Comprehensions) для создания списков в одну строку

Списковые включения позволяют создавать новые списки на основе существующих в одну строку кода. Это делает код более лаконичным и читаемым.

Списковые включения — это мощный инструмент, который делает код Python компактнее и ускоряет его выполнение, особенно в простых операциях над списками.

🔗 Python tricks
Использование оператора _ для повторного использования результата последней операции в интерактивном режиме

В Python при работе в интерактивной оболочке (например, в REPL или Jupyter Notebook) можно использовать символ подчеркивания _, чтобы получить результат последнего выражения. Это упрощает работу с вычислениями, когда нужно быстро использовать предыдущий результат.

Использование оператора _ в интерактивной оболочке ускоряет доступ к предыдущим результатам и делает работу с вычислениями более удобной и быстрой.

🔗 Python tricks
Библиотека Typer

Typerэто библиотека для создания командных интерфейсов приложений на Python.
Она позволяет легко создавать CLI приложения с поддержкой аргументов, опций, субкоманд и автоматической генерацией help.

Основные возможности Typer:
— Декоратор @typer.command() для определения команд и подкоманд.
— Автоматический парсинг аргументов и опций.
— Валидация и tipped annotations для аргументов и опций.
— Автоматическая генерация help с описаниями.
— Встроенная поддержка Click для обратной совместимости.

Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.

🔗 Python tricks
Функция sorted

sorted() используется для сортировки элементов в списке, кортеже или другой последовательности.
Она возвращает новый отсортированный список или итератор, не изменяя исходную последовательность.

По умолчанию сортировка выполняется в возрастающем порядке. Для сортировки в убывающем порядке нужно указать аргумент reverse=True.
Для сортировки по определенному ключу можно использовать ключевой аргумент key. Он принимает функцию, которая извлекает ключ для сортировки из каждого элемента.

Для сортировки объектов можно использовать атрибуты объекта в качестве ключа сортировки.
Сортировка происходит на месте для списков, и создаётся новый отсортированный список для кортежей и других неизменяемых последовательностей.

🔗 Python tricks
Pyspark

Pyspark — это библиотека для работы с Apache Spark на языке Python. Она позволяет выполнять распределенные вычисления на кластерах и обрабатывать большие объемы данных.

Основные возможности Pyspark:
Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности.
— В Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными.
— Поддержка чтения и записи в разные хранилища данных и форматы файлов.
— Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии.
— Интуитивно понятный API, позволяющий применять Pyspark вместе с другими популярными библиотеками Python для анализа данных.

Таким образом, Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.

🔗 Python tricks
Использование функции any() для проверки наличия элементов, удовлетворяющих условию

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

Функция any() — это удобный инструмент для краткой и эффективной проверки условий в коллекциях, упрощая код и улучшая читаемость.

🔗 Python tricks
Использование defaultdict для работы со словарями с автоматическим созданием значений

defaultdict из модуля collections позволяет автоматически создавать значения для новых ключей в словаре. Это избавляет от необходимости проверки наличия ключа перед его использованием.

Использование defaultdict значительно упрощает работу с ключами и значениями в словарях, избавляя от ручного управления отсутствующими ключами.

🔗 Python tricks
Использование zip() для параллельной обработки нескольких списков

Функция zip() в Python позволяет объединять несколько списков (или других итерируемых объектов) в один, создавая кортежи из элементов с одинаковыми индексами. Это удобно, когда нужно обрабатывать несколько последовательностей одновременно.

Использование zip() делает работу с несколькими последовательностями более лаконичной и эффективной, позволяя легко создавать структуры данных и упрощать код.

🔗 Python tricks