Python School
82.5K subscribers
2.4K photos
7 videos
568 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
Профилирование

Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
Модуль howdoi

Модуль howdoi поможет найти ответ на многие основные вопросы, связанные с кодом, при этом весь процесс «вопрос-ответ» полностью происходит в консоли. Как же это работает? Модуль сравнивает Ваш вопрос с вопросами на сайте StackOverflow и предлагает Вам варианты кода из лучших ответов с данного ресурса.
Конкатенация строк

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

Более эффективный подход к решению этой задачи заключается в использовании функции join()
Словарь и set comprehensions

Словарю нужны ключ и значение.

Определяем ключ и значение в expression.

Синтаксис set comprehension не сильно отличается от list comprehension. Мы просто используем фигурные скобки вместо квадратных.
Проверьте, удовлетворяет ли каждый элемент списка какому-либо условию

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

Польза данного метода заключается в том, что это позволяет удобно организовать данные по какому-то критерию (в данном случае, четность/нечетность чисел) и быстро обращаться к сгруппированным элементам по ключам словаря. Это упрощает работу с данными и позволяет легко выполнять операции над группами элементов.
Сортировать список, используя другой список в качестве индексов

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

Этот код инвертирует словарь original_dict, сопоставляя значения ключам и наоборот, создавая новый словарь inverted_dict.
Реализуйте перетасовку списков без использования готовых функций

Используем алгоритм Фишера-Йейтса. Он создает беспристрастные случайные перестановки списков, что часто имеет решающее значение для выборки. Популяризированный Кнутом, он беспристрастен, имеет оптимальную линейную эффективность по времени; использует постоянное пространство; и является инкрементным.
Комбинируйте словарные значения

Defaultdict — это подкласс класса словаря, который возвращает объект, подобный словарю. Чем это отличается от обычного словаря? Хотя словарь и словарь по умолчанию почти идентичны, последний позволяет нам избежать KeyErrors. Другими словами, он предоставляет значение по умолчанию для несуществующего ключа. Эта характеристика defaultdictionary упрощает следующие операции.
Распечатайте все комбинации списка

Пакет Itertools, как следует из названия, содержит множество функций, включающих итерации. Комбинации также требуют итераций и поэтому включены в этот пакет в двух разных формах (т.е. combinations, combinations_with_replacement) в зависимости от того, что именно вы ищете. Itertools также является пакетом по умолчанию в Python.
Самый частый элемент в списке

Функция Counter из пакета Collections удобна для отслеживания количества различных элементов в списке. Пакет Collections является пакетом по умолчанию и поэтому не требует дополнительной установки, если у вас уже установлен Python.
Сглаживание списка

Когда вам дан многоуровневый список или массив, который не является одномерным, вы можете захотеть сгладить его до простого списка.
Использование функции sorted()

В Python очень легко сортировать некие последовательности данных с использованием встроенной функции sorted(), которая берёт на себя решение всех сопутствующих задач. Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами.
Использование коллекций Python

Коллекции Python — это контейнерные типы данных. В частности, это списки, множества, кортежи, словари. Модуль collections даёт в распоряжение разработчика высокопроизводительные типы данных, которые помогают улучшить код, сделать его чище и облегчить работу с ним. Этот модуль содержит множество полезных методов.
Использование модуля itertools

Python-модуль itertools представляет собой набор инструментов для работы с итераторами. В состав этого модуля входит множество средств для генерирования различных последовательностей.
Использование функции zip() при работе со списками

Предположим, что вам нужно скомбинировать несколько списков одинаковой длины и вывести результирующий список. Как и в других случаях, подобную задачу можно решить, так сказать, «в лоб», а можно воспользоваться чем-то вроде универсальной функции zip().
Итерирование списков с помощью enumerate()

Метод enumerate() добавляет к итерируемой коллекции нумерацию и возвращает объект, генерирующий пары элементов, состоящие из индекса элемента и самого этого элемента.
Использование генераторов списков

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

Сюда же входит и описание цикла for, выполняющего проход по каждому элементу. Генераторы списков позволяют ускорить работу со списками за счёт того, что интерпретатор Python оптимизирован в расчёте на шаблоны, повторяющиеся при обходе списка.
Преобразование двух списков в словарь

Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь? Если прибегнуть для этого к функции zip(), то данная задача может быть решена так.