Last iteration?
Paul McGuire
ptmcg at austin.rr.com
Sun Oct 14 13:08:55 EDT 2007
On Oct 14, 5:58 am, Paul Hankin <paul.han... at gmail.com> wrote:
> On Oct 14, 8:00 am, Paul McGuire <pt... at austin.rr.com> wrote:
> > def signal_last(lst):
> > last2 = None
> > it = iter(lst)
> > try:
> > last = it.next()
> > except StopIteration:
> > last = None
> > for last2 in it:
> > yield False, last
> > last = last2
> > yield True, last
>
> This yields a value when the iterator is empty, which Diez's solution
> didn't. Logically, there is no 'last' element in an empty sequence,
> and it's obscure to add one. Peter Otten's improvement to Diez's code
> looks the best to me: simple, readable and correct.
>
Of course! For some reason I thought I was improving Peter Otten's
version, but when I modified my submission to behave as you stated, I
ended right back with what Peter had submitted. Agreed - nice and
neat!
-- Paul
More information about the Python-list
mailing list