Списковое включение для заполнения
1. Пример
print([i**2 for i in range(10)])
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2. Пример
[(x,y,z,f) for x in range(2) for y in range(2) for z in range (2) for f in range(2)]
# [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 1], [1, 0, 1, 0], [1, 0, 1, 1], [1, 1, 0, 0], [1, 1, 0, 1], [1, 1, 1, 0], [1, 1, 1, 1]]
3. Пример
[[x,y,z,f] for x in range(2) for y in range(2) for z in range (2) for f in range(2) if x == 1 if y == 1]
[[1, 1, 0, 0], [1, 1, 0, 1], [1, 1, 1, 0], [1, 1, 1, 1]]
4. Пример
list(map(lambda x : x**2, range(1,5)))
[1, 4, 9, 16]
Лямбда функции
анонимные функции, не описанные в пространстве имен
lambda <аргументы> : <возвращаемое выражение>
У лямбда-функции может быть один или несколько аргументов, разделенных запятыми. После двоеточия (:) описывается возвращаемое выражение, в котором может использоваться (или не использоваться) описанный ранее аргумент.
Функция сопоставления
map() применяет функцию к каждому элементу в итерируемом цикле и возвращает новый итератор,
map(function, iterable [iterable1, iterable2,..., iterableN])
Первый аргумент map() — это объект функция, что означает, что вам нужно передать функцию, не вызывая ее. Без пары скобок.