В Python вы можете иметь несколько итераторов в понимании списка, например
[(x,y) for x in a for y in 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. Как только вы сделаете двойное понимание, ваша последняя итеративная переменная внезапно окажется настолько «далекой». Это неловко и совсем не читается естественно