[python-users] Last iteration? - comp.lang.python
Rex Turnbull
RexTurnbull at web.de
Mi Okt 17 14:52:46 CEST 2007
Hi pyCologne,
beim stöbern der comp.lang.python bin ich über folgende Diskussion
getappert:
http://groups.google.com/group/comp.lang.python/browse_thread/thread/34c7398eec5a92cd/68f0aaef68e5ca0e?lnk=raot
Darin fand ich die vorgeschlagene Lösung von 'Peter Otten' sehr schön
und habs schon in meine Bibliotheken verewigt. Ich gebe es zu Eurer
Verwendung und Verbesserung weiter. Ich hoffe die Einrückung ist korrekt
mitgekommen.
Rex
def mark_last(items):
"""
>>> list(mark_last([]))
[]
>>> list(mark_last([1]))
[(True, 1)]
>>> list(mark_last([1,2]))
[(False, 1), (True, 2)]
>>> for is_last, wert in mark_last(range(4)):
... if is_last: print "letzter Wert:",
... print wert
...
0
1
2
letzter Wert: 3
"""
items = iter(items)
last = items.next()
for item in items:
yield False, last
last = item
yield True, last
Mehr Informationen über die Mailingliste python-users