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

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

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

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

РКН: clck.ru/3G6pBb
加入频道
Реверс строк и списков

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

В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.
Библиотека Colorama

Нашему глазу будет очень легко зацепиться за неверное состояние, если оно в консоли при выводе будет выделено цветом. Примеров, полагаю, можно привести еще достаточно, где данное нововведение сыграло бы хоть малейшую роль. Что ж, даже для цветного вывода в консоль найдется свой модуль, а именно библиотека с названием Colorama.
pprint

Ни для кого не будет новостью, что при написании кода очень часто используется функцию print(). И все замечательно, когда нужно вывести небольшой объем информации, например, состояние булевой переменной. Но что, если нам нужно, допустим, вывести в консоль лист, в котором каждый элемент хранит в себе еще несколько состояний. Наглядно вывести подобную информацию с помощью одной строки кода, используя print(), уже не получится. Здесь нам с приятным для восприятия выводом поможет модуль pprint, он же Pretty Printer.
Профилирование

Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных 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 представляет собой набор инструментов для работы с итераторами. В состав этого модуля входит множество средств для генерирования различных последовательностей.