There are several different blocks of code you could tack onto a loop (I've deliberately chosen somewhat unusual words to express these here):
for x in items: # body interstitially: # things to do between loop iteration # (executed after each iteration in the loop when there is a next value) subsequently: # things to do after the last element of the loop is processed # (when the loop is not exited by break) contrariwise: # things to do if the list was empty
For example:
result = "" for x in items: result += str(x) interstitially: result += ", " contrariwise: result = "no data"
When I first learned that Python had an 'else' clause on loops, I assumed it meant 'contrariwise'. I was surprised that it actually meant 'subsequently'.
To be more clear, contrariwise is essentially equivalent to:
empty = True for x in items: empty = False # body if empty: # do contrariwise code
and interstitially is essentially equivalent to:
first = True for x2 in items: if not first: # do interstitial code first = False x = x2 # body
I think these are common/useful paradigms. I'm curious what others think.
--- Bruce