Списковое включение для заполнения

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() — это объект функция, что означает, что вам нужно передать функцию, не вызывая ее. Без пары скобок.