Python Learning
34.5K subscribers
1.92K photos
8 videos
7 files
917 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
Что выведет код сверху?
Anonymous Quiz
35%
3
13%
5
12%
4
39%
Error
Объединение списков без цикла

Перед вами стоит задача: объединить два списка разной длины без использования цикла. Как бы вы ее решили? Один из вариантов - с помощью встроенной функции sum(), возвращающей сумму элементов последовательности.
Функция next()

Позволяет получить следующий элемент итератора.

Параметры:
iterator - объект итератора, в котором определен метод next(),
default - значение по умолчанию, которое будет возвращено вместо исключения StopIteration.
Объединение двух словарей в один новый словарь

Выражение {**dict1, **dict2} создает новый словарь с объединенными ключами и значениями из dict1 и dict2, которые оба должны быть словарями.

Значения ключей словаря dict2 имеют приоритет, когда dict1 и dict2 используют одинаковые ключи key.
Функция starmap()

Cоздает итератор, который вычисляет функцию function, используя аргументы, полученные из кортежей в итерируемой последовательности iterable.

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

Параметры:
function - функция
iterable - итерируемая последовательность.
Функция filter()

Функция filter() используется для создания списка, состоящего из значений, для которых функция возвращает true.

Так же, как и map(), эта функция может использовать в качестве параметра пользовательские функции, а также lambda-функции.
Нумерованные списки

Задача нумерации элементов последовательности настолько распространена, что в Python есть соответствующая встроенная функция enumerate.

Для тех, кто уже знаком с enumerate, может оказаться новостью, что у функции есть второй аргумент, задающий начальное число.
Обмен ключами и значениями словаря

Итак, насколько сложно поменять местами значения и ключи в словаре? Совсем несложно, по крайней мере, в Python.

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

Понимание словаря - отличный способ выполнить некоторые словарные операции.

Выше представлен еще один действительно изящный способ манипулирования словарями.
Воспроизведение аудио

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

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

Библиотека timeit отлично подходит для определения времени выполнения Python. Просто передайте функцию в строковом формате методу timeit.timeit (), и он выполнит 1 миллион выполнений, чтобы сообщить минимальное время выполнения кода.

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

Посмотрите пример выше, демонстрирующий разницу во времени выполнения двух очень похожих методов понимания списков в Python:
Открытие веб-страницы

Выше приведен простой рецепт открытия веб-страниц из вашего терминала Python или кода.
Что выведет код сверху?
Anonymous Quiz
6%
96
61%
100
5%
96100
28%
Error
Упорядоченные словари

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

Не беспокойтесь, в библиотеке коллекций Python есть модуль с именем OrderedDict, который делает именно это.
Наибольший общий делитель

В стандартной математической библиотеке Python есть отличные методы, которые упрощают практически любые базовые математические вычисления. Например метод gcd(), выдающий наибольший общий делитель.
👍1
Транспонирование двумерного массива данных

Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией zip.
Проверьте использование памяти ваших объектов

С помощью sys.getsizeof() вы можете проверить использование памяти объектом(48 байт)
Вау… подождите… почему этот огромный список весит всего 48 байтов?
Это потому, что функция range возвращает класс, который только ведет себя как список. Диапазон намного менее нагружает память, чем фактический список чисел.
Вы можете убедиться сами, используя списковые включения, чтобы создать фактический список чисел из того же диапазона(87632 байта)

Итак, поиграв с sys.getsizeof(), вы можете больше узнать о Python и использовании вашей памяти.
[ Фотография ]
Happy New Year

Дорогие подписчики поздравляю вас с наступающим, кого-то уже с наступившим, новым годом.

Пусть 2022 год принесет вам удачу, радость и успехов во всех ваших начинаниях.
Что выведет код сверху?
Anonymous Quiz
28%
False, False
32%
True, False
18%
False, True
22%
True, True