Access last element after iteration
On Tue, Jul 7, 2020 at 10:28 PM Frank Millman <frank at chagford.com> wrote:
> Hi all
> After iterating over a sequence, the final element is still accessible.
> In this case, the variable 'i' still references the integer 4.
Yes, it's guaranteed. It isn't often useful; but the variant where
there's a "break" in the loop most certainly is. If you hit the break,
the iteration variable will still have whatever it had at the end.
This is a great use of 'else' (arguably the primary use of it). You do
for thing in iterable:
if want(thing): break
thing = None
If the iterable is empty, you go to the else. If you don't find the
thing you want, you go to the else. But if you find it and break,
thing has the thing you wanted.