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
1) 2304 КБайт
2) 5625 КБайт, видеокарта на 64 МБайт
3) 112,5 МБайт
Объяснение:
Задача 1:
16 777 216 = 2^i, i = 24
I = 1024 * 768 * 24 = 2^10 * 3 * 2^8 * 24 битов =
= 72 * 2^18 битов = 72 * 2^15 байтов = 72 * 2^5 Кбайт = 72*32 КБайт =
= 2304 КБайт
Задача 2:
16 777 216 = 2^i, i = 24
I = 1600 * 1200 * 24 = 100 * 2^4 * 75 * 2^4 * 24 битов =
= 25 * 2^2 * 2^4 * 75 * 2^4 * 3 * 2^3 битов = 25*75*3* 2^13 битов = 5625* 2^10 байтов = 5625* 2^0 Кбайт = 5625 КБайт ≈ 5,5 МБ
Подойдет видеокарта на 64 Мбайт.
Задача 3:
75 Гц, значит в одной секунде 75 кадров.
Объем данных, передаваемых в секунду от видеопамяти к монитору:
75 * 16 * 1024 * 768 = 75 * 2^4 * 2^10 * 3 * 2^8 = 225 * 2^22 битов =
= 225 * 2^19 байт = 225 * 2^9 КБайт = 112,5 * 2^10 КБайт = 112,5 * 2^0 МБайт = 112,5 МБайт
140 о
32 у
22 ы
3 э
82 е
0 ё
7 ю
30 я
81 и
Вместе: 491