Рубріки: Решения

Коротко о главном: 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 символов.

А вот 25 полезных однострочников на JavaScript

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023