Снова прочитайте вопрос о переполнении стека со следующим синтаксисом
In [1]: [lambda: x for x in range(5)][0]()
Out[1]: 4
In [2]: [lambda: x for x in range(5)][2]()
Out[2]: 4
Но мне трудно понять, почему именно вывод этого происходит как 4, я понимаю, что он всегда дает последнее значение списка в качестве вывода,
In [4]: [lambda: x for x in [1,5,7,3]][0]()
Out[4]: 3
но все еще не уверен, как этот синтаксис заканчивается последним значением.
Было бы очень приятно, если бы я смог получить правильное объяснение этого синтаксиса