Я хотел бы узнать, существует ли элегантный питонический способ выполнения какой-либо функции на первой итерации цикла. Единственная возможность, о которой я могу думать, это:
first = True for member in something.get(): if first: root.copy(member) first = False else: somewhereElse.copy(member) foo(member)
Разве вы не можете сделать root.copy(something.get()) до цикла?
root.copy(something.get())
РЕДАКТИРОВАТЬ: Извините, я пропустил второй бит. Но вы получите общее представление. В противном случае, перечислите и проверьте для 0?
0
EDIT2: Хорошо, избавился от глупой второй идеи.
Ваш вопрос противоречив. Вы говорите «делать что-то только на первой итерации», тогда как на самом деле вы говорите «делать что-то другое» на первой / последующих итерациях. Вот как я бы попытался:
copyfn = root.copy for member in something.get(): copyfn(member) foo(member) copyfn = somewhereElse.copy