У Python ви можете мати кілька ітераторів у розумінні списку, наприклад
[(x,y) for x in a for y in b]
для деяких підходящих послідовностей a і b. Мені відомо про семантику вкладених циклів розуміння списку Python.
Моє запитання: Чи може один ітератор у розумінні посилатися на інший? Іншими словами: Чи можу я мати щось подібне:
[x for x in a for a in b]
де поточне значення зовнішньої петлі є ітератором внутрішньої?
Як приклад, якщо у мене є вкладений список:
a=[[1,2],[3,4]]
яким буде вираження розуміння списку для досягнення цього результату:
[1,2,3,4]
?? (Будь ласка, перерахуйте лише відповіді на розуміння, оскільки це я хочу дізнатися).
[x for b in a for x in b]
Це завжди з помилками стосується пітона. Цей синтаксис настільки назад. Загальна формаx for x in y
завжди має змінну безпосередньо після for, подається на вираз зліва від for. Як тільки ви зробите подвійне розуміння, ваша остання ітераційна змінна раптом стає так "далеко". Це незручно і зовсім не читається природно