Самый частый элемент в списке
Первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны).
Затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке.
После этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
Первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны).
Затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке.
После этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
Сортировка объектов по нескольким ключам
Для решения данной задачи нам понадобится модуль
Сначала сортируем объекты по возрасту, а потом по имени. С помощью
Для решения данной задачи нам понадобится модуль
operator
.Сначала сортируем объекты по возрасту, а потом по имени. С помощью
operator.itemgetter()
мы получаем поля возраста и имени из каждого словаря в списке. Это дает нам результат, который мы хотелиПросмотр кода определенного модуля
Модуль
Ниже используется метод
Модуль
inspect
пригодится для понимания того, что происходит за кулисами в Python. Вы даже можете вызывать его методы на них самих.Ниже используется метод
inspect.getsource()
для вывода его собственного исходного кода. Также используется метод inspect.getmodule()
для вывода модуля, в котором его определили.Аннотации типов
Python — динамически типизированный язык. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д.
Это позволяет ускорить процесс разработки. Однако мало что раздражает так сильно, как ошибка времени выполнения, возникшая из-за простого несовпадения типа. Для этого в процессе разработки многие указывают типы данных для лучшего понимания кода как для себя, так и для людей, которые его будут читать.
Python — динамически типизированный язык. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д.
Это позволяет ускорить процесс разработки. Однако мало что раздражает так сильно, как ошибка времени выполнения, возникшая из-за простого несовпадения типа. Для этого в процессе разработки многие указывают типы данных для лучшего понимания кода как для себя, так и для людей, которые его будут читать.
Определение страны и оператора по номеру телефона
Не забудьте установить библиотеку командой
phonenumbers
- один из модулей, который предоставляет множество функций для получения базовой информации о номере телефона.Не забудьте установить библиотеку командой
pip install phonenumbers
Сравниваем строки между собой
Передайте в функцию ratio две строки, которые хотите сравнить между собой и получите процентное соотношение их похожести
Перед применением установите библиотеку командой
fuzzywuzzy
- библиотека для сравнения строк.Передайте в функцию ratio две строки, которые хотите сравнить между собой и получите процентное соотношение их похожести
Перед применением установите библиотеку командой
pip install fuzzywuzzy
и pip install python-Levenshtein
(если это будет необходимо)Превью из длинного текста
Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста. Такую проблему хорошо решает метод
Первым аргументом передается строка, вторым указывается количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста. Такую проблему хорошо решает метод
shorten
из модуля textwrap
. Первым аргументом передается строка, вторым указывается количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
Аннотации типов: Union и Optional
При необходимости допустить использование не любых типов, а только некоторых, можно использовать аннотацию
Для объявления опциональных переменных используется
При необходимости допустить использование не любых типов, а только некоторых, можно использовать аннотацию
Union[T, ...]
с указанием списка типов в квадратных скобках.Для объявления опциональных переменных используется
Optional[T]
. Такая аннотация нужна для переменных, которые либо имеют значение определенного типа, либо равны None
.Получение индекса максимального элемента в списке
Python не предоставляет процедуры для прямого получения индекса максимального или минимального элемента в списке или кортеже. Представленный ниже код поможет нам в решении данной задачи.
Если есть два или более элементов с максимальным значением, данный алгоритм возвращает индекс последнего.
Python не предоставляет процедуры для прямого получения индекса максимального или минимального элемента в списке или кортеже. Представленный ниже код поможет нам в решении данной задачи.
Если есть два или более элементов с максимальным значением, данный алгоритм возвращает индекс последнего.
Функция starmap()
Данная функция создает итератор, который вычисляет функцию
Используется вместо
Параметры:
Данная функция создает итератор, который вычисляет функцию
function
, используя аргументы, полученные из кортежей в итерируемой последовательности iterable
.Используется вместо
map()
, когда параметры функции уже сгруппированы в кортежи из одной итерации, т. е. данные были предварительно упакованы в кортежи.Параметры:
function
- функцияiterable
- итерируемая последовательность.Функция groupby()
Функция
Ключ
Функция
groupby()
модуля itertools
создает итератор, который возвращает последовательные ключи и группы из итерируемой последовательности iterable
.Ключ
key
- это функция, вычисляющая значение ключа для каждого элемента. Если ключ не указан или равен None, ключом по умолчанию является функция тождественности и возвращает элемент без изменений. Как правило, iterable
уже должна быть отсортирована по той же ключевой функции.Функция multimode()
Функция
Функция
Функция
multimode()
модуля statistics
возвращает список наиболее часто встречающихся значений элементов в последовательности data в том порядке, в котором они были обнаружены.Функция
statistics.multimode()
вернет более одного результата, если в последовательности есть несколько элементов с одинаковым максимальным числом повторений или пустой список, если данные data
пусты.match/case в Python 3.10
Часто приходится проверять не только тип данных, но и количество, что приводит к появлению огромного числа веток
Часто приходится проверять не только тип данных, но и количество, что приводит к появлению огромного числа веток
if/else
с вызовом функций isinstance
, len
и обращению к элементам по индексу, ключу или атрибуту. Именно для упрощения работы и уменьшения if/else
был введен новый оператор match/case
.Цепочка исключений
Для формирования цепочек исключений используется ключевое слово
В результате, если вызванное исключение не обработано, то на вывод будут отправлены оба исключения.
Для формирования цепочек исключений используется ключевое слово
from
, после которого требуется указать ещё одно исключение. Это исключение будет подвязано к вызванному в атрибут __cause__
(поддерживает запись).В результате, если вызванное исключение не обработано, то на вывод будут отправлены оба исключения.
Получаем исходный код объекта
Встроенный модуль
Сегодня поговорим только про
В аргументы достаточно передать необходимый объект. Но важно отметить, что встроенные функции не получится проинспектировать.
Встроенный модуль
inspect
помогает разработчикам исследовать уже написанные программы.Сегодня поговорим только про
getsource()
, который возвращает весь исходный код функции, класса или модуля в виде строки.В аргументы достаточно передать необходимый объект. Но важно отметить, что встроенные функции не получится проинспектировать.
Форматирование чисел в f-строках
Начиная с версии Python 3.6, стали доступны f-строки. Это удобный способ форматирования текста. Но не все знают, что он умеет вставлять float числа с настраиваемым количеством знаков после запятой.
Начиная с версии Python 3.6, стали доступны f-строки. Это удобный способ форматирования текста. Но не все знают, что он умеет вставлять float числа с настраиваемым количеством знаков после запятой.
Генерация капчи
Для этого нам создания капчи нам понадобится модуль
Создаем объект изображения
Для этого нам создания капчи нам понадобится модуль
captcha
и Pillow
, который используется для создание изображений в captcha
.Создаем объект изображения
ImageCaptcha
, на который будет нанесен текст. После чего вызываем метод write
с заданным текстом и придуманным названием файла.Получение курса валют
Один из вариантов получения валют - импользование библиотеки
Один из вариантов получения валют - импользование библиотеки
forex-python.
Установите ее командой pip install forex-python.
Данный модуль - это бесплатный API для текущих и исторических обменных курсов, публикуемых Европейским центральным банком. Курсы обновляются ежедневно в 15:00 по европейскому времени.Итерация в обратную сторону
Когда нам нужно проитерироваться по послудовательности в обратном порядке, то функция
Когда нам нужно проитерироваться по послудовательности в обратном порядке, то функция
reversed
поможет это сделатьОпределяем расстояние между двумя точками на Земле
Для работы с координатами воспользуемся библиотекой
Для работы с координатами воспользуемся библиотекой
geopy
, которую установим с помощью команды pip install geopy
. В функцию geodesic
передадим два кортежа с координатами нужных нам городов.