Полезные методы словаря
Существуют множество полезных методов словаря. Например, метод
#theory // Just Python
Существуют множество полезных методов словаря. Например, метод
keys()
возвращает все ключи словаря. values()
возвращает все значения. items()
возвращает пары ключ-значение, а update()
обновляет словарь, добавляя или заменяя пары ключ-значение.#theory // Just Python
Получение наибольших или наименьших чисел из списка
Представим, что у вас есть список с числами и необходимо получить указанное число наибольших или наименьших чисел из него.
Одно из решений данной задачи - использование встроенной библиотеки
#theory // Just Python
Представим, что у вас есть список с числами и необходимо получить указанное число наибольших или наименьших чисел из него.
Одно из решений данной задачи - использование встроенной библиотеки
heapq
.#theory // Just Python
Как найти разницу между двумя списками?
Иногда нужно узнать, какие элементы есть в одном списке, но отсутствуют в другом. Новички могут использовать циклы, но Python предлагает элегантный способ — множества (set).
Этот приём позволяет найти разницу за одну строку:
Итог:
Вычисляет разницу за одну строку.
Подходит для сравнения списков.
Упрощает анализ данных!
#theory // Just Python
Иногда нужно узнать, какие элементы есть в одном списке, но отсутствуют в другом. Новички могут использовать циклы, но Python предлагает элегантный способ — множества (set).
Этот приём позволяет найти разницу за одну строку:
set(list1)
- set(list2)
возвращает элементы, которые есть в list1
, но отсутствуют в list2
. Итог:
Вычисляет разницу за одну строку.
Подходит для сравнения списков.
Упрощает анализ данных!
#theory // Just Python
Функция filterfalse()
Функция filterfalse() модуля itertools создает итератор, который удаляет элементы из последовательности iterable до тех пор, пока функция predicate равна False или 0. Возвращается итератор с отобранными элементами.
Если predicate=None, функция вернет элементы, которые являются ложными.
Аргумент predicate это функция, принимающая один элемент последовательности и возвращающая bool значение.
#theory // Just Python
Функция filterfalse() модуля itertools создает итератор, который удаляет элементы из последовательности iterable до тех пор, пока функция predicate равна False или 0. Возвращается итератор с отобранными элементами.
Если predicate=None, функция вернет элементы, которые являются ложными.
Аргумент predicate это функция, принимающая один элемент последовательности и возвращающая bool значение.
#theory // Just Python
itertools.pairwise
#theory // Just Python
itertools.pairwise
возвращает пары соседних элементов из итерируемого объекта. Это полезно для сравнения, анализа трендов и работы с графами или координатами.#theory // Just Python
Мои коллеги из Яндекса создали сильнейшие IT каналы 🔥
🐍 Ghostly Python - Разбираем код, автоматизируем рутину, пишем ботов, скрипты и полезные утилиты. Все что нужно для уверенного старта в программировании на Python.
☕️ Easy Java - вскрываем Java изнутри. Все тонкости этого универсального языка в одном канале, врывайся!
😎 IT Syndicate - гигабайты свежего материала по всем направлениям. GameDev, InfoSec, Frontend - и это лишь малая часть..
Наше кредо — программирование не сложно, просто никто не объяснял нормально.
Please open Telegram to view this post
VIEW IN TELEGRAM
Класс Counter.deque()
При использовании класс deque из модуля collections мы работаем с очередью. Он позволяет добавлять и удалять элементы с обоих концов очереди.
В этом примере мы создаем объект deque, содержащий список фруктов. Затем мы добавляем элемент 'pear' в конец очереди с помощью метода append() и элемент 'grape' в начало очереди с помощью метода appendleft(). Конечный результат - очередь, содержащая фрукты в порядке 'grape', 'apple', 'banana', 'orange', 'pear'.
#theory // Just Python
При использовании класс deque из модуля collections мы работаем с очередью. Он позволяет добавлять и удалять элементы с обоих концов очереди.
В этом примере мы создаем объект deque, содержащий список фруктов. Затем мы добавляем элемент 'pear' в конец очереди с помощью метода append() и элемент 'grape' в начало очереди с помощью метода appendleft(). Конечный результат - очередь, содержащая фрукты в порядке 'grape', 'apple', 'banana', 'orange', 'pear'.
#theory // Just Python
itertools.batched
#theory // Just Python
itertools.batched
разбивает итерируемый объект на фиксированные группы. Это полезно для пакетной обработки данных, группировки и работы с потоками данных.#theory // Just Python
Антипаттерн недели: Использование переменных с плавающим значением в качестве условий
В Python числа с плавающей точкой (
Избегайте прямого сравнения
#theory // Just Python
В Python числа с плавающей точкой (
float
) могут вести себя неожиданно из-за погрешности вычислений. Это особенно критично при сравнении и использовании их в логических выражениях.Избегайте прямого сравнения
float
— используйте округление или math.isclose()
.#theory // Just Python
Генераторные выражения в Python
Для создания генераторов на скорую руку можно использовать выражения (как и для генераторов списка).
#theory // Just Python
Для создания генераторов на скорую руку можно использовать выражения (как и для генераторов списка).
#theory // Just Python
str.removeprefix
str.removeprefix удаляет указанный префикс из строки, если он присутствует. Это полезно для очистки и нормализации данных без лишних условий и срезов.
#theory // Just Python
str.removeprefix удаляет указанный префикс из строки, если он присутствует. Это полезно для очистки и нормализации данных без лишних условий и срезов.
#theory // Just Python
SDV - библиотека, разработанная учеными MIT, использующая алгоритмы машинного обучения для генерации различного рода таблиц при помощи анализа реальных данных и создания на их основе синтетических данных в Python.
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
В результате генерирует такую таблицу.
Ставится командой
Документация и примеры кода на Github
#theory // Just Python
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
from sdv.datasets.demo import download_demo
real_data, metadata = download_demo(
modality='single_table',
dataset_name='fake_hotel_guests')
В результате генерирует такую таблицу.
Ставится командой
pip install sdv
Документация и примеры кода на Github
#theory // Just Python
Пример кода с использованием glob
Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы "*" (произвольное количество символов), "?" (один символ), и диапазоны символов с помощью []. Для использования тильды "~" и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
#theory // Just Python
Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы "*" (произвольное количество символов), "?" (один символ), и диапазоны символов с помощью []. Для использования тильды "~" и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
#theory // Just Python
Ускорение компиляции с помощью numba
Если определённая часть твоего кода всё ещё работает медленно, попробуй библиотеку numba, чтобы компилировать код. numba ускоряет выполнение в 10-20 раз, так как компилирует код в машинные инструкции.
#theory // Just Python
Если определённая часть твоего кода всё ещё работает медленно, попробуй библиотеку numba, чтобы компилировать код. numba ускоряет выполнение в 10-20 раз, так как компилирует код в машинные инструкции.
#theory // Just Python
Pandas: Удаление дубликатов
#theory // Just Python
pandas.dropduplicates()
— метод в библиотеке pandas
, который используется для удаления дубликатов строк из DataFrame
. С помощью duplicated
ты можешь проверить, имеются ли дубликаты.#theory // Just Python
dict.setdefault
#theory // Just Python
dict.setdefault
возвращает значение по ключу, если он существует, или добавляет ключ со значением по умолчанию. Это полезно для группировки, счётчиков и инициализации вложенных структур.#theory // Just Python
Как объединить строки без цикла?
Когда нужно склеить несколько строк из списка в одну, новички часто используют цикл for и оператор +. Но в Python есть более быстрый и лаконичный способ — метод
Метод
Итог:
Работает быстро и читаемо.
Подходит для любых итерируемых объектов со строками.
#theory // Just Python
Когда нужно склеить несколько строк из списка в одну, новички часто используют цикл for и оператор +. Но в Python есть более быстрый и лаконичный способ — метод
.join()
.Метод
join()
принимает список строк и объединяет их через указанный разделитель. Это работает гораздо эффективнее циклов и особенно полезно при работе с большими объёмами текста. Итог:
.join()
— лучший способ объединения строк.Работает быстро и читаемо.
Подходит для любых итерируемых объектов со строками.
#theory // Just Python
enumerate и как он работает
#theory // Just Python
enumerate
добавляет индексы к элементам итерируемого объекта. Это полезно для одновременного доступа к элементу и его позиции в цикле.#theory // Just Python
Как быстро получить уникальные значения из списка?
Когда нужно найти все уникальные элементы в списке, новички часто перебирают элементы вручную и добавляют их в новый список. Но Python предлагает простое и эффективное решение — использовать
Множество (
Итог:
Отлично подходит для быстрой фильтрации!
#theory // Just Python
Когда нужно найти все уникальные элементы в списке, новички часто перебирают элементы вручную и добавляют их в новый список. Но Python предлагает простое и эффективное решение — использовать
set
.Множество (
set
) автоматически удаляет все повторяющиеся значения. А если нужно сохранить порядок, можно дополнительно применить dict.fromkeys().
Всё это делается буквально в одну строку! Итог:
set()
— простой способ убрать дубликаты.dict.fromkeys()
сохраняет порядок элементов.Отлично подходит для быстрой фильтрации!
#theory // Just Python
MQL — переводит запрос, описанный обычными словами в код на SQL при помощи нейросетей.
То есть пишешь ему, например:
И он вам выдаёт
#theory // Just Python
То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю
И он вам выдаёт
SELECT * FROM ...
и тд.#theory // Just Python