Когда цикл заканчивается, переменная elt
не выходит из области видимости и сохраняет последнее значение, данное ему циклом. Таким образом, вы можете просто поместить код в конец цикла и работать с переменной elt
. Это не очень красиво, но и общие правила Python тоже не очень приятны.
Единственная проблема с этим (спасибо, cvondrick) заключается в том, что цикл может никогда не выполняться, что будет означать, что elt
не существует - мы получим NameError
. Таким образом, полный способ сделать это будет примерно:
del elt # not necessary if we haven't use elt before, but just in case
for elt in itertools.chain.from_iterable(node):
do_stuff_to_each(elt)
try:
do_stuff_to_last(elt)
except NameError: # no last elt to do stuff to
pass