img

Однострочники Python, которые пригодятся для решения шаблонных задач

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

100 примеров, с помощью которых вы сможете рационализировать ваш обычный рабочий процесс. 

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

  1. Создание нового списка с помощью кода в одну строку
squares = [x**2 for x in range(10)]
  • Генерирует список квадратов целых чисел от 0 до 9
  1. Создание нового списка, содержащего элементы, которые соответствуют условию
evens = [x for x in range(10) if x % 2 == 0]
  • Генерирует список четных в диапазоне от 0 до 9
  1. Лямбда-функция

Определим небольшую анонимную функцию

add = lambda x, y: x + y
  • Создает простую функцию для сложения двух чисел
  1. Фильтрация списка

Создадим новый список из элементов, удовлетворяющих условию

evens = [x for x in range(10) if x % 2 == 0]
  • Генерирует список четных чисел из диапазона от 0 до 9

(CSV-файл)

  1. Функция map

Применим функцию к каждому итерируемому элементу

squares = list(map(lambda x: x**2, range(10)))
  1. Функция filter

Профильтруем итерируемые элементы с учетом условия

evens = list(filter(lambda x: x % 2 == 0, range(10)))
  • Генерирует список четных цифр от 0 до 9 с помощью функции filter
  1. Переворот строки

Поменяем порядок символов в строке

reversed_string = 'Hello, World!'[::-1]
  • Переворачивает строку «Hello, world!» в строку «!dlrow ,olleH»
  1. Цепочка сравнений

Проверим выполнение нескольких сравнений

x < y < z
  • Проверяет, что «x» меньше «y», а «y» меньше «z»
  1. Тернарный оператор

Присвоим значение с учетом условия

x = a if condition else b
  • Присваивает переменной «х» значение «а», если условие верно, в противном случае – «b»
  1. Перечисление списка

Переберем список по индексу и значению.

for i, item in enumerate(my_list):
  • Проходит по списку «my_list» и получает доступ как к индексу, так и к значению
  1. «Упаковка» списков

Объединим элементы нескольких списков попарно

for a, b in zip(list_a, list_b):
  • Проходит по спискам «list_a» и «list_b», объединяя в пары числа с одинаковыми индексами
  1. Сведение списка, состоящего из списков

Объединим элементы вложенных списков в один

flat_list = [item for sublist in list_of_lists for item in sublist]
  • Сводит «list_of_lists» в один единый список «flat_list»
# Sample data { # Выборочные данные }
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

# Flatten the list { # Сводим список }
flat_list = [item for sublist in list_of_lists for item in sublist]

# Output { # Результат }
print(flat_list)

#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  1. Перестановка значений переменных

Поменяем значения двух переменных

a, b = b, a
  • Меняет значения переменных «а» и «b»
  1. Преобразование списка из строк в одну строку

Соединим элементы списка в одну единую строку

s = ' '.join(['hello', 'world'])
  • Объединяет элементы списка в строку «hello world»
  1. Поиск индекса максимального значения в списке
max_index = max(range(len(my_list)), key=my_list.__getitem__)
  • Ищет индекс максимального значения в списке «my_list»
  1. Поиск максимального значения и его индекса в списке
max_value, max_index = max((val, idx) for idx, val in enumerate(my_list))
  • Ищет максимальное значение и его индекс в списке «my_list»
  1. Поиск минимального значения и его индекса в списке
`min_value, min_index = min((val, idx) for idx, val in enumerate(my_list))`
  • Ищет минимальное значение и его индекс в списке «my_list»
  1. Печать списка через запятую
print(*my_list, sep=', ')
  • Печатает элементы списка «my_list» через запятую
  1. Вычисление факториала
import math; math.factorial(5)
  • Вычисляет факториал числа 5
  1. Вычисление n-го числа Фибоначчи
fib = lambda n: n if (n <= 1) else (fib(n-1) + fib(n-2))
  • Определяет лямбда-функцию для вычисления n-го числа Фибоначчи
  1. Подсчет количество вхождений элемента в список
count = my_list.count(element)
  • Подсчитывает количество вхождений значений «element» в список «my_list»
  1. Удаление дубликатов из списка
unique_list = list(set(my_list))
  • Создает список «unique_list» с дубликатами, удаленными из списка «my_list»
  1. Сортировка списка по пользовательскому ключу

Отсортируем список по конкретному атрибуту или функции

sorted_list = sorted(my_list, key=lambda x: x[1])
  • Сортирует список «my_list» по второму элементу каждого элемента списка
  1. Проверка, удовлетворяют ли все элементы условию
all(x > 0 for x in my_list)
  • Проверяет, все ли элементы списка «my_list» больше, чем 0
  1. Проверка, удовлетворяют ли какие-нибудь элементы условию

Проверим, все ли элементы в итерируемом списке соответствуют условию

any(x > 0 for x in my_list)
  • Проверяет, все ли элементы списка «my_list» больше, чем 0

(CSV-файл)

  1. Преобразование списка кортежей в словарь

Преобразуем список пар ключ-значение в словарь

my_dict = dict([('a', 1), ('b', 2), ('c', 3)])
  • Создает словарь из списка кортежей
  1. Печать форматированной строки

Воспользуемся f-строкой для печати переменных в строке

print(f'Hello, {name}!')
  • Печатает строку с включенной переменной «name»
  1. Создание псевдонима функции

Присвоим существующую функцию к новому имени

alias = original_function
  • Создает псевдоним для функции «original_function»
  1. Поиск самого распространенного элемента в списке
most_common = max(set(my_list), key=my_list.count)`
# Sample data { # Выборочные данные }
my_list = [1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5]

# Find the most common element { # Находим самый распространенный элемент }
most_common = max(set(my_list), key=my_list.count)

# Output { # Результат }
print(most_common)

# 5
  • Ищет самый часто встречающийся элемент в списке «my_list»

(CSV-файл)

  1. Ввод в виде списка целых чисел

Прочитаем строку ввода и преобразуем ее в список целых чисел

numbers = list(map(int, input().split()))
  • Преобразует пользовательский ввод в список целых чисел под названием «numbers»
# Prompt the user to enter a space-separated string of numbers { # Предлагаем пользователю ввести строку чисел, разделенных пробелом }
input_string = input("Enter some numbers separated by spaces: ")

# Convert the string to a list of integers { # Преобразовываем строку в список целых чисел }
numbers = list(map(int, input_string.split()))

# Output the list of numbers { # Выводим список чисел }
print(numbers)

#Enter some numbers separated by spaces: 10 20 30 40 50 { # Вводим некоторые числа через пробелы: 10 20 30 40 50 }
#[10, 20, 30, 40, 50]
  1. Транспонирование матрицы

Перевернем матрицу относительно ее диагонали

transposed = list(zip(*matrix))
  • Транспонирует матрицу и сохраняет результат в переменной «transposed»
# Sample data { # Выборочные данные }
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Transpose the matrix { # Транспонируем матрицу }
transposed = list(zip(*matrix))

# Output { # Результат }
print(transposed)

#[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
  1. Проверка строки, является ли она палиндромом

Проверим, читается ли строка справа налево так же, как и слева направо

is_palindrome = s == s[::-1]
  • Проверяет, является ли строка «s» палиндромом
# Sample data { # Выборочные данные }
s = "racecar"

# Check if the string is a palindrome { # Проверяем, является ли строка палиндромом }
is_palindrome = s == s[::-1]

# Output { # Результат }
print(is_palindrome)
#True
  1. Слияние двух словарей

Объединим два словаря путем обновления значений второго словаря

merged_dict = {**dict1, **dict2}
  • Объединяет словари «dict1» и «dic2» в один словарь «merged_dict»
  1. Сумма элементов списка

Подсчитаем сумму элементов списка

total = sum(my_list)
  • Считает сумму элементов списка «my_list»
  1. Вычисление среднего значения списка

Подсчитаем среднее значение элементов списка

average = sum(my_list) / len(my_list)
  • Считает среднее значение элементов списка «my_list»
  1. Ввод в виде списка чисел с плавающей точкой

Прочитаем строку ввода и преобразуем ее в список чисел с плавающей точкой

floats = list(map(float, input().split()))
  • Преобразует пользовательский ввод в список чисел с плавающей точкой под названием «floats»
# Prompt the user to enter a space-separated string of numbers { # Предлагаем пользователю ввести строку чисел, разделенных пробелами }
input_string = input("Enter some floating-point numbers separated by spaces: ")

# Convert the string to a list of floats { # Преобразуем строку в список чисел с плавающей точкой }
floats = list(map(float, input_string.split()))

# Output the list of floats { # Выводим список чисел с плавающей точкой }
print(floats)

#Enter some floating-point numbers separated by spaces: 3.14 2.718 1.414 0.577 { # Вводим некоторые числа с плавающей точкой через пробелы: 3.14 2.718 1.414 0.577 }

#[3.14, 2.718, 1.414, 0.577]
  1. Сортировка списка строк по их длине

Организуем список строк с учетом их длин

sorted_strings = sorted(my_list, key=len)
  • Сортирует список «my_list» по длине его строк
  1. Преобразование строки в список символов

Разделим строку и получим список отдельных символов

char_list = list('hello')
  • Преобразует строку «hello» в список символов
# Convert a string to a list of characters { # Преобразовываем строку в список символов }
char_list = list('hello')

# Output the list of characters { # Выводим список символов }
print(char_list)

#['h', 'e', 'l', 'l', 'o']
  1. Разделение строки по пробелам

Разделим строку по пробелам и получим список слов 

words = s.split()
Разделяет строку «s» в список слов
# Sample data { # Выборочные данные }
s = "This is a sentence."

# Split the string into words { # Разделяем строку на слова }
words = s.split()


# Output the list of words { # Выводим список слов }
print(words)

#['This', 'is', 'a', 'sentence.']

(CSV_файл)

  1. Конкатенация списка, состоящего из списков

Объединим несколько списков в один

merged_list = sum(list_of_lists, [])
  • Конкатенирует список, состоящий из списков, в один список под названием «merged_list»
# Sample data { # Выборочные данные }
list_of_lists = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]

# Flatten the list of lists { # Объединяем список, состоящий из списков }
merged_list = sum(list_of_lists, [])

# Output the merged list { # Выводим объединенный список }
print(merged_list)

#[1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. Проверка числа на простоту

Проверим, делится ли число только на 1 и на самого себя

is_prime = all(n % i for i in range(2, int(n**0.5) + 1))
Проверяет, является ли число «n» простым
# Sample data { # Выборочные данные }
n = 17

# Check if the number is prime { # Проверяем, является ли число простым }
is_prime = all(n % i for i in range(2, int(n**0.5) + 1))

# Output the result { # Выводим результат }
print(is_prime)

#True
  1. Создание диапазона чисел с заданным шагом

Сгенерируем диапазон чисел с заданным размером шага

my_range = list(range(0, 10, 2))
  • Создает список четных чисел от 0 до 9
  1. Преобразование строки в нижний/верхний регистр

Преобразуем символы строки в нижний регистр

lower_string = s.lower()
upper_string = s.upper()
  • Преобразует строку «s» в нижний регистр 
  1. Создание списка кортежей из нескольких списков

Сгенерируем список кортежей путем объединения элементов из нескольких списков

tuples_list = list(zip(list1, list2))
  • Создает список кортежей путем объединения элементов из списков «list1» и «list2»
# Sample data { # Выборочные данные }
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

# Combine the two lists into a list of tuples { # Объединяем два списка с один список кортежей  }
tuples_list = list(zip(list1, list2))

# Output the list of tuples { # Выводим список кортежей }
print(tuples_list)
# [('a', 1), ('b', 2), ('c', 3)]
  1. Проверка строки на наличие подстроки

Проверим, содержит ли строка другую строку

substring_present = substring in main_string
  • Проверяет, содержит ли строка «main_string» подстроку «substring»
  1. Разделение строки по определенному символу

Разобьем строку в список подстрок по определенному символу

split_list = s.split(',')
  • Делит строку «s» в список подстрок по запятым
  1. Поэлементное сложение двух списков

Объединим два списка путем сложения соответствующих элементы вместе

combined_list = [a + b for a, b in zip(list1, list2)]
  • Создаем список «combined_list», складывая элементы из списков «list1» и «list2»
# Sample data { # Выборочные данные }
list1 = [1, 2, 3]
list2 = [10, 20, 30]


# Combine the two lists element-wise { # Объединяем два списка поэлементно }
combined_list = [a + b for a, b in zip(list1, list2)]

# Output the combined list { # Выводим объединенный список }
print(combined_list)

#[11, 22, 33]
  1. Поиск уникальных элементов в списке

Выведем различные элементы списка с сохранением порядка

unique_list = list(dict.fromkeys(my_list))
  • Создает список «unique_list» с уникальными элементами из списка «my_list», сохраняя порядок
# Sample data { # Выборочные данные }
my_list = [1, 2, 2, 3, 3, 3, 4, 5, 5]

# Remove duplicates from the list { # Удаляем дубликаты из списка }
unique_list = list(dict.fromkeys(my_list))

# Output the unique list { # Выводим список уникальных значений }
print(unique_list)
#[1, 2, 3, 4, 5]

Для создания нового словаря мы используем метод dict.fromkeys(), поскольку в словаре не может быть повторяющихся ключей, а этот метод эффективно удаляет дубликаты из списка my_list.

  1. Получение длины списка без использования len()

Подсчитаем количество элементов в списке без применения функции len()

list_length = sum(1 for _ in my_list)
  • Вычисляет длину списка «my_list» без использования функции len()
# Sample data { # Выборочные данные }
my_list = ['a', 'b', 'c', 'd', 'e']

# Count the number of elements in the list { # Подсчитываем количество элементов в списке }
list_length = sum(1 for _ in my_list)

# Output the list length { # Выводим длину списка }
print(list_length)
#5
  1. Поиск различий в двух списках

Выведем элементы, которые есть только в одном из двух списков

difference = list(set(list1) - set(list2))
  • Ищет различия межу списками «list1» и «list2»
# Sample data { # Выборочные данные }
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
# Find the difference between the two lists { # Ищем различия между двумя списками }
difference = list(set(list1) - set(list2))

# Output the difference { # Выводим различия }
print(difference)
#[1, 2]
  1. Создание списка символов из строки без пробелов

Сгенерируем список символов из строки, исключив пробелы

char_list = [c for c in s if c != ' ']
  • Создает список символов из строки «s», пропуская пробелы
# Sample data { # Выборочные данные }
s = "The quick brown fox"

# Remove spaces from the string { # Удаляем пробелы из строки }
char_list = [c for c in s if c != ' ']

# Output the list of characters { # Выводим список символов }
print(char_list)
#['T', 'h', 'e', 'q', 'u', 'i', 'c', 'k', 'b', 'r', 'o', 'w', 'n', 'f', 'o', 'x']
  1. Замена всех вхождений подстроки в строку

Заменим все экземпляры подстроки в строке другой строкой

new_string = s.replace(old_substring, new_substring)
  • Заменяет все вхождения подстроки «old_substring» в строку «s» новой подстрокой «new_substring»
# Sample data { # Выборочные данные }
s = "The quick brown fox jumps over the lazy dog."
old_substring = "fox"
new_substring = "cat"

# Replace the old substring with the new substring { # Заменяем старую подстроку новой }
new_string = s.replace(old_substring, new_substring)

# Output the new string { # Выводим новую строку }
print(new_string)
#The quick brown cat jumps over the lazy dog.
  1. Разделение строки на список строк
lines = s.splitlines()
  • Делит строку «s» и преобразует в список строк
  1. Создание строки из списка символов
my_string = ''.join(char_list)
  • Конкатенирует список символов в строку
# Sample data { # Выборочные данные }
char_list = ['T', 'h', 'e', ' ', 'q', 'u', 'i', 'c', 'k', ' ', 'b', 'r', 'o', 'w', 'n', ' ', 'f', 'o', 'x']

# Concatenate the list of characters into a string { # Конкатенируем список символов в строку }
my_string = ''.join(char_list)

# Output the resulting string { # Выводим получившуюся строку }
print(my_string)

#The quick brown fox
  1. Получение последнего элемента списка
last_element = my_list[-1]
  • Извлекает последний элемент списка «my_list»

(CSV-файл)

  1. Поворот списка с n-ой позиции
rotated_list = my_list[-n:] + my_list[:-n]
  • Разворачивает список «my_list» с n-ой позиции
# Sample data { # Выборочные данные }
my_list = [1, 2, 3, 4, 5]
n = 2

# Rotate the list by n positions to the left { # Переворачиваем список со смещением на n позиций влево }
rotated_list = my_list[-n:] + my_list[:-n]

# Output the rotated list { # Выводим перевернутый список }
print(rotated_list)
#[3, 4, 5, 1, 2]
  1. Вырезка массива
sliced_list = my_list[start:stop:step]
  • Вырезает часть массива с помощью значений «start», «stop» и «step»
  1. Получение кода символа в ASCII 
ascii_value = ord(char)

#Find the ASCII value of the character ‘char’ { # Найдем код ASCII символа char }
# Sample data { # Выборочные данные }
char = 'A'

# Get the ASCII value of the character { # Получаем код ASCII символа char }
ascii_value = ord(char)
# Output the ASCII value { # Выводим код ASCII }
print(ascii_value)
#65
  1. Подсчет количества слов в строке
len(string.split())
string = "This is a sample string for demonstration purposes"
word_count = len(string.split())

print(f"The string '{string}' contains {word_count} words.")
#The string 'This is a sample string for demonstration purposes' contains 8 words. { # Строка «This is a sample string for demonstration purposes» содержит 8 слов.  }
  1. Перемешивание списка
import random; random.shuffle(list)
import random

# Create a list of numbers from 1 to 10 { # Создадим список чисел от 0 до 10 }
my_list = list(range(1, 11))
print("Original list:", my_list)

# Shuffle the list { # Перемешаем список }
random.shuffle(my_list)
print("Shuffled list:", my_list)
#Original list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] { # Первоначальный список: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] }
#Shuffled list: [6, 10, 3, 9, 8, 5, 2, 4, 7, 1] { # Перемешанный список: [6, 10, 3, 9, 8, 5, 2, 4, 7, 1] }
  1. Генерация всех возможных комбинаций элементов списка
import itertools; [list(comb) for i in range(len(list)+1) for comb in itertools.combinations(list, i)]
import itertools

# Define a list of letters { # Определим список букв }
my_list = ['a', 'b', 'c']

# Generate all possible combinations of the letters { # Сгенерируем все возможные комбинации этих букв }
combinations = [list(comb) for i in range(len(my_list)+1) for comb in itertools.combinations(my_list, i)]

# Print the combinations { # Напечатаем комбинации }
print(combinations)

#[[], ['a'], ['b'], ['c'], ['a', 'b'], ['a', 'c'], ['b', 'c'], ['a', 'b', 'c']]
  1. Поиск пересечения/объединения двух списков
list(set(list1) & set(list2))  # intersection { # пересечение }
list(set(list1) | set(list2))  # union { # объединение }
  1. Проверка, является ли список подмножеством/надмножеством другого списка
set(list1).issubset(set(list2))
set(list1).issuperset(set(list2))
  1. Различия и сходства двух списков
#Find the difference between two lists: { # Найдем различия двух списков }
list(set(list1) - set(list2))
#Check if two lists have at least one element in common: { # Проверим, есть ли хотя бы один общий элемент у двух списков }
bool(set(list1) & set(list2))
  1. Подсчет количества вхождений каждого слова в строку
import collections; collections.Counter(string.split())
import collections

# Define a sentence { # Определим предложение }
my_sentence = "Python is a powerful programming language. Python is easy to learn and use."

# Count the occurrences of each word in the sentence { # Подсчитаем количество вхождений каждого слова в предложение }
word_counts = collections.Counter(my_sentence.split())

# Print the word counts { # Напечатаем количество слов }
print(word_counts)

#Counter({'Python': 2, 'is': 2, 'a': 1, 'powerful': 1, 'programming': 1, 'language.': 1, 'easy': 1, 'to': 1, 'learn': 1, 'and': 1, 'use.': 1})
  1. Поиск самого часто встречающегося слова в строке
import collections; collections.Counter(string.split()).most_common(1)[0][0]
import collections

# Define a sentence { # Определим предложение }
my_sentence = "Python is a powerful programming language. Python is easy to learn and use."

# Find the most common word in the sentence { # Найдем самое часто встречающееся слова в предложение }
most_common_word = collections.Counter(my_sentence.split()).most_common(1)[0][0]

# Print the most common word { # Напечатаем самое часто встречающееся слово }
print("The most common word is:", most_common_word)
#The most common word is: Python { # Самое часто встречающееся слово: Python }
  1. Генерация случайного пароля
import random, string; ''.join(random.choices(string.ascii_letters + string.digits + string.punctuation, k=n))
import random
import string

# Define the length of the random string { # Определим длину случайной строки }
n = 10

# Generate a random string of length n { # Сгенерируем случайную строку длиной n }
random_string = ''.join(random.choices(string.ascii_letters + string.digits + string.punctuation, k=n))

# Print the random string { # Напечатаем случайную строку }
print("Random string:", random_string)
#Random string: vJ76*,T<~j { # Случайная строка: vJ76*,T<~j }
  1. Преобразование строки в объект DateTime
import datetime; datetime.datetime.strptime(string, format_string)

#Convert a datetime object to a string: { # Преобразуем объект типа DateTime в строку }
datetime_object.strftime(format_string)

#Calculate the difference between two datetime objects: { # Вычислим разность двух объектов типа DateTime }
datetime2 - datetime1
#Get the current date and time: { # Получим текущие дату и время }
import datetime; datetime.datetime.now()
#Get the day of the week for a given date: { # Получим день недели для заданной даты }
datetime_object.strftime('%A')
#Get the month name for a given date: { # Получим названием месяца для заданной даты }
datetime_object.strftime('%B')
import datetime

# Define a string representing a date and time { # Определим строку, представляющую дату и время }
date_string = '2023-07-01 09:30:00'

# Define the format string for the date and time { # Определим формат строки для даты и времени }
format_string = '%Y-%m-%d %H:%M:%S'

# Parse the date and time string { # Разберем строку даты и времени }
parsed_date = datetime.datetime.strptime(date_string, format_string)

# Print the parsed date and time { # Напечатаем разобранные дату и время }
print("Parsed date:", parsed_date)
# Parsed date: 2023-07-01 09:30:00 { # Разобранные дата и время: 2023-07-01 09:30:00 }
  1. Поиск индекса первого вхождения элемента в список с помощью бинарного поиска
import bisect; bisect.bisect_left(list, element)

import bisect

# Define a sorted list of numbers { # Определим отсортированный список чисео }
my_list = [1, 3, 4, 7, 9]

# Define an element to insert into the list { # Определим элемент, входящего в список }
my_element = 5


# Find the insertion point of the element in the list { # Ищем точку вхождения элемента в список }
insertion_point = bisect.bisect_left(my_list, my_element)

# Print the insertion point { # Печатаем точку вхождения }
print("Insertion point:", insertion_point)

#Insertion point: 2 { # Точка вхождения: 2 }
#Find the index of the last occurrence of an element in a list using binary search:  { # Находим индекс последнего вхождения элемента в список с помощью бинарного поиска }
import bisect; bisect.bisect_right(list, element) - 1
  1. Подсчет количества вхождений каждого элемента в список и сохранение результата в словаре
import collections; collections.Counter(list)
import collections

# Define a list of elements { # Определяем список элементов }
my_list = ['apple', 'banana', 'orange', 'apple', 'banana', 'banana']

# Count the occurrences of each element in the list { # Подсчитываем количество вхождений каждого элемента в список }
element_counts = collections.Counter(my_list)

# Print the element counts { # Печатаем количество элементов }
print(element_counts)
#Counter({'banana': 3, 'apple': 2, 'orange': 1})
  1. Поиск моды/медианы списка
import statistics; statistics.mode(list)
import statistics; statistics.median(list)
  1. Проверка, является ли строка панграммой (то есть содержит все буквы алфавита)
set('abcdefghijklmnopqrstuvwxyz').issubset(set(string.lower()))
  1. Удаление всех неалфавитных символов из строки
import re; re.sub('[^0-9a-zA-Z]+', '', string)
import re

# Define a string with non-alphanumeric characters { # Определяем строку, в которой есть неалфавитные символы }
my_string = "This is an example string with spaces, punctuation marks, and digits (like 123)."

# Remove all non-alphanumeric characters from the string { # Удаляем все неалфавитные символы из строки }
clean_string = re.sub('[^0-9a-zA-Z]+', '', my_string)

# Print the clean string { # Печатаем «очищенную» строку }
print(clean_string)
#Thisisanexamplestringwithspacespunctuationmarksanddigitslike123
  1. Разворот списка на месте
list.reverse()
  1. Вычисление векторного произведения двух векторов
import numpy; numpy.cross(vector1, vector2)
  1. Получения имя хост-системы текущего компьютера
import socket; socket.gethostname()
  1. Проверка доступности порта на удаленном компьютере
import socket; sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM); result = sock.connect_ex((ip_address, port)); sock.close(); result == 0
  1. Получение IP-адреса текущего компьютера
import socket; socket.gethostbyname(socket.gethostname())
  1. Проверка, является ли строка приемлемым адресом электронной почты
import re; bool(re.match(r'^[\w\.\+\-]+\@[\w]+\.[a-z]{2,3}$', email))
  1. Создание zip-файла
import zipfile; with zipfile.ZipFile('filename.zip', 'w', zipfile.ZIP_DEFLATED) as zip: zip.write('filename.txt')
  1. Извлечение данных из zip-файла
import zipfile; with zipfile.ZipFile('filename.zip', 'r') as zip: zip.extractall('dirname')
  1. Проверка наличия установленного модуля
import importlib; importlib.util.find_spec('modulename') is not None
  1. Получение переменных окружения
import os; os.environ
  1. Выполнение команды оболочки
import os; os.system('command')
  1. Получение текущей версии Python
import platform; platform.python_version()
  1. Получение имени текущего пользователя
import getpass; getpass.getuser()
  1. Копирование файла
import shutil; shutil.copy('sourcefile', 'destinationdir')
  1. Подсчет количества слов в файле
import re; len(re.findall(r'\w+', open('filename.txt').read()))
  1. Переименование файла
import os; os.rename('oldname', 'newname')
  1. Удаление каталога и всего его содержимого
import shutil; shutil.rmtree('dirname')
  1. Получение текущего рабочего каталога
import os; os.getcwd()
  1. Создание каталога
import os; os.mkdir('dirname')
  1. Проверка существования файла
import os; os.path.exists('filename.txt')

# Get the size of a file in bytes: { # Получаем размер файла в битах }
import os; os.path.getsize('filename.txt')
# Get the last modified time of a file: { # Получаем время последнего изменения файла }
import os; os.path.getmtime('filename.txt')
# Delete a file: { # Удаляем файл }
import os; os.remove('filename.txt')
  1. Переход в спящий режим на заданное количество секунд
import time; time.sleep(seconds)
  1. Генерация случайного целого числа между a и b
import random; random.randint(a, b)
  1. Проверка, находится ли число в диапазоне
in_range = lower_bound <= value <= upper_bound
  • Проверяет, находится ли значение «value» в диапазоне между «lower_bound» и «upper_bound»

 

  1. Проверка, начинается ли строка с определенной подстроки
starts_with = s.startswith(substring)
  • Проверяет, начинается ли строка «s» с подстроки «substring»
ends_with = s.endswith(substring)
  • Проверяет, заканчивается ли строка «s» подстрокой «substring»
  1. Вычисление евклидового пространства между двумя точками
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
  • Вычисляет евклидово пространство между точками (x1, y1) и (x2, y2)
import math

# Define two points in two-dimensional space { # Определяем две точки в двумерном пространстве }
x1, y1 = 2, 3
x2, y2 = 5, 7

# Calculate the Euclidean distance between the two points { # Вычисляем эвклидово пространство между двумя точками }
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)

print(f"The distance between ({x1}, {y1}) and ({x2}, {y2}) is {distance:.2f}.")

#The distance between (2, 3) and (5, 7) is 4.24. { # Расстояние между точками (2, 3) и (5, 7) – 4.24. }
Заключение

Я надеюсь, что эта статья была для вас познавательной и интересной. В Python есть огромное количество мощных однострочников, и то, что я продемонстрировал здесь, - лишь верхушка айсберга. 

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Программирование
Скидка 25%
Python Advanced. Продвинутый курс
Освойте асинхронное и метапрограммирование, изучите аннотацию типов и напишите собственное приложение на FastAPI. Улучшите свои навыки Python, чтобы совершить быстрый рост вашего грейда до уровня middle.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Гипервизор - это программное обеспечение для виртуализации, используемое для создания и запуска виртуальных машин (ВМ). Гипервиз
img
Виртуализация серверов позволяет запускать несколько виртуальных машин на одном физическом сервере. Запуск виртуальных машин (ВМ
img
Сегодня мы рассмотрим, как настроить и использовать PHP в проекте. Но прежде чем начать, нужно понять, что такое PHP. Что такое
img
Как разработчик, вы знаете, что HTML расшифровывается как HyperText Markup Language (язык разметки гипертекста). HTML — это язык
img
Бесконечные споры вокруг искусственного интеллекта приводят к путанице. Существует много терминов, которые кажутся похожими, но
img
SVG расшифровывается как масштабируемая векторная графика. Это веб-дружелюбный векторный формат файлов, используемый для отображ
21 ноября
20:00
Бесплатный вебинар
Введение в Docker