Коротко о главном: 5 самых мощных однострочников на Python
Разработчик Сурадж Гурав составил список из пяти самых мощных, по его словам, однострочников на Python — фрагментов кода, которые способны сделать его мощнее и чище при минимуме синтаксиса. Специалист использует их для анализа данных, а также для сложных задач автоматизации. Вот они.
Зацикливание
В зависимости от назначения цикла for
есть несколько способов выполнить операцию сжав код до одной строки.
- если в теле цикла
for
содержится только один оператор, код для вывода квадратов всех чисел от 10 до 15 будет выглядеть следующим образом:
for k in range(10,16): print(k**2)
что получится:
- если цикл
for
используется для заполнения или создания списка, используйте функции понимания списка. В этом случае список квадратов всех чисел от 10 до 15 может быть создан так:
[k**2 for k in range (10,16)]
что получится:
Что такое «Понимание списка», его плюсы и минусы с подробными примерами описаны в этом кратком руководстве.
Назначение нескольких переменных
Однострочник для присвоения нескольких значений нескольким переменным будет выглядеть так:
var1, var2, var3 = 10, 99, 123 print(f"var1 is {var1}") print(f"var2 is {var2}") print(f"var3 is {var3}")
что получится:
Более того, можно присваивать значения разных типов, такие как integer
, float
, string
. Например:
var1, var2, var3, var4 = 9.99, 10, "Medium", True print(f"var1 is {var1}") print(f"var2 is {var2}") print(f"var3 is {var3}") print(f"var4 is {var4}")
что получится:
Также одной переменной можно присвоить сразу несколько значений. Например:
var1 = 10, 9.99, "Medium" print(var1) type(var1)
что получится:
Как видно из примера, все значения, присвоенные одной переменной, образуют кортеж.
Перестановка местами элементов списка
В отличие от других языков программирования, Python исключает временную переменную при обмене значениями двух переменных. Следовательно, поменять местами значения двух переменных можно с помощью однострочника:
var1, var2 = 10, 9.89 print(f"Before swapping var1 = {var1} and var2 = {var2}") var1, var2 = var2, var1 print(f"After swapping var1 = {var1} and var2 = {var2}")
что получится:
Менять местами можно любое количество переменных. Вот как это сделать с тремя:
var1, var2, var3 = 10, 9.89, "Medium" print(f"Before swapping var1 = {var1}, var2 = {var2}, var3 = {var3}") var1, var2, var3 = var2, var3, var1 print(f"After swapping var1 = {var1}, var2 = {var2}, var3 = {var3}")
что получится:
Больше о том, как менять местами элементы, написано здесь.
Удаление дубликатов элементов
Для записи кода для удаления дубликатов элементов в одну строку в Python можно использовать структуры данных. Просто преобразуйте список в множество! Например:
repeated_values_list = [1,2,1,3,1,"Hi",1.1,"Hi",True,"True",2.5,3] duplicates_removed = list(set(repeated_values_list)) print(f"Original List = {repeated_values_list") prtint(f"After removing duplicates = {duplicates_removed}")
что получится:
Импортирование библиотек
pyforest
— это пакет Python, который импортирует все часто используемые пакеты в одной строке. Его нужно установить отдельно. Для этого нужно выполнить следующую команду:
pip install pyforest
Вместо того чтобы импортировать каждую библиотеку в программу по отдельности, импортируйте их все сразу с помощью следующего однострочника:
import pyforest
После импорта pyforest
все функции из часто используемых пакетов Python, такие как pd.DataFram()
, np.arange(),
sns.countplot()
и sys.exit()
, могут быть использованы напрямую.
dir (pyforest)
выводит список из 105 пакетов, импортированных pyforest
.
Примечание: при использовании однострочников помните о рекомендациях PEP-8
о максимальном количестве символов в строке. Их должно быть не более 79 символов.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: