Python в одну строчку
Возможности языка Python позволяют писать код красиво. В статье рассматривается как записать распространенные задачи в одну строку. Однако чрезмерное сокращение может привести к плохой читаемости вашего кода, а также для поддержки кода потребуется специалист выше уровнем. Так что используйте с умом.
1. Конструкция "if - then - else"
Ее можно записать в одну строку двумя способоми
if season == 'Лето': weather = 'Тепло' else: weather = 'Холодно'
Вариант 1.
Синтаксис: { действие если условие истинно } if { условие } else { действие если условие ложно}
weather = 'Тепло' if season == 'Лето' else 'Холодно'
Вариант 2.
Синтаксис: ({ выражение если условие истинно }, { выражение если условие ложно })[{ условие }]
weather = ('Тепло', 'Холодно')[season == 'Лето']
2. Генераторы списков (list comprehension)
Задача: сгенерировать список квадратов четных чисел от 0 до 10
v = [] for x in range(11): if x % 2 == 0: v.append(x*x)
Более компактная запись:
sqr = [x*x for x in range(11) if x % 2 == 0]
В обоих случаях результат будет [0, 4, 16, 36, 64, 100]
3. Lambda функции
Задача: Увеличить каждый элемент списка на самого себя
numbers = [1, 2, 3, 4, 5] for i in range(len(numbers)): numbers[i] += numbers[i]
Более компактная запись с использование lambda функции
numbers = [1, 2, 3, 4, 5] numbers = list(map(lambda x: x+x, numbers))
В обоих случаях результат будет [2, 4, 6, 8, 10]
4. Смена значений переменных местами
Задача: поменять значения переменных X и Y местами.
Поменять можно двумя способами. С использованием временной переменной и без.
tmp = x x = y y = tmp
x = x + y y = x - y x = x - y
Как это можно сделать на Python
x, y = y, x
Комментарии
Добавить комментарий