Почему порядок множественного понимания списка `for` такой, какой он есть?

Я знаю правильный способ иметь несколькоfor Вложенный список выглядит следующим образом (Python 3):

lista = [[[1,2],[3],[4,5,6]],[[7],[8,9]]]

flatlista = [i for k in lista for j in k for i in j]
# results with [1, 2, 3, 4, 5, 6, 7, 8, 9]

Но мои естественные языковые инстинкты сильно возражают. Я бы (ошибочно) ожидал, что код будет:

flatlista = [i for i in j for j in k for k in lista]

Неправильная версия звучит почти как английский и читается в одном потоке слева направо. Правильная версия требует некоторых вложенных навыков чтения, пропуская влево и вправо, чтобы охватить смысл.

Почему этот синтаксис как есть? Почему язык был построен таким образом?

Ответы на вопрос(1)

Ваш ответ на вопрос