marianka
А можно пояснить лямбду? Никогда не использовала
python.org. lambda

Lambda-функции есть во многих языках.

Эквивалентные выражения:
f = lambda: 1
def f():
    return 1

Только для lambda-функции имя необязательно:
>>> (lambda: 1)()
1
>>>

Их можно создавать и сразу использовать:
>>> (lambda: 1)() + (lambda: 2)()
3
>>>
>>> (lambda: 3 * (lambda: 'abc')())()
'abcabcabc'
>>>
>>> (lambda n: n * (lambda: 'abc')())(3)
'abcabcabc'
>>>
>>> (lambda n: n * (lambda: 'abc')())((lambda: 3)())
'abcabcabc'
>>>

Их можно создавать и передавать в функции:
>>> list(filter(lambda c: c.lower() in 'abc', 'abcdefgABCDEFG'))
['a', 'b', 'c', 'A', 'B', 'C']
>>>