lambda - ключевое слово, позволяющее объявить лямбда-выражение (анонимную функцию)
Лямбда-выражение в Python может содержать только одну какую либо инструкцию, возвращающую значение, либо же не возвращающую.
Синтаксис -
lambda parameters: expression
например, лямбда выражение, возвращающее значение входного параметра, увеличенного на 1:
f = lambda x: x + 1
f(1) # -> 2
filter - функция, выполняющая фильтрацию последовательности
сигнатура:
def filter(func: Callable[[Any], bool], source: Iterable[Any]) -> Iterable[Any]
где func - вызываемый объект, имеющий в качестве входного параметра один любой объект и возвращающий логическое значение
source - исходный итерируемый объект
Возврат: Последовательность, составленная из всех элементов, для которых func вернёт true. Возвращаемое значение имеет тип объекта-итератора и является неиндексируемым.
пример:
a = [1, 2, 3, 4]
print(list(filter(lambda p: p > 2, a))) #распечатает [3, 4]
Для задания функции-фильтратора для передачи в filter обычно использую лямбда-выражения
map - функция, применяющая указанную функцию к каждому элементу входной последовательности.
def map(func: Callable[[Any], Any], iterable: Iterable[Any]) -> Iterable[Any]
Где:
func - функция, применяемая к каждому элементу последовательности
iterable - исходная последовательность
Возврат:
Последовательность, составленную из возвращённых значений переданной функцией для каждого из исходных элементов в порядке следования исходных элементов. Возвращаемое значение имеет тип объекта-итератора и является неиндексируемым.
Пример
list_of_str = ['1', '2', '5', '10']
print(list(map(int, list_of_str))) #[1, 2, 5, 10]
import sys - оператор, импортирующий в текущий файл модуль sys
sys.stdin - предоставляет доступ к стандартному потоку ввода для интерпретатора Python
ДЗ для ВЕРЫ ВИКТОРОВНЫ:
Объяснение:
Var I, N, m: integer;
{Выводит таблицу квадратов до N числа}
Begin
Readln(N); //Что вводим в этой строке и зачем? Как можно подсказать пользователю, что ввести?
{Вводим до какого числа нам нужно получить квадрат; Подсказать можно через WRITELN}
Writeln('Таблица квадратов чисел от 1 до N'); //Сколько раз выполняется этот оператор?
{Один раз}
For i:=1 to N do //Сколько раз выполнится цикл?
{N раз}
Begin //Зачем снова писать операторные скобки?
{Затем, что это цикл, который всегда обособляется и отделяет от остальных операторов}
m:=i*I;
Writeln(I,' ',m); //Как по-другому оставить пробелы между столбиками?
{Можно сделать так - Writeln(I:3,m:16);}
End;
End.