Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #44199
| Path | csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail |
|---|---|
| Return-Path | <ian.g.kelly@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.015 |
| X-Spam-Evidence | '*H*': 0.97; '*S*': 0.00; '*not*': 0.07; 'lines,': 0.07; 'iterate': 0.09; 'propagate': 0.09; 'raises': 0.09; '*other*': 0.16; '23,': 0.16; 'caveat': 0.16; 'happily': 0.16; 'ignoring': 0.16; 'loop.': 0.16; 'looping': 0.16; 'loops': 0.16; 'pairs': 0.16; 'pairs,': 0.16; 'wrote:': 0.18; 'stack': 0.19; 'instance,': 0.24; 'file.': 0.24; 'this:': 0.26; 'header:In-Reply- To:1': 0.27; 'chris': 0.29; 'am,': 0.29; 'reaches': 0.30; 'message-id:@mail.gmail.com': 0.30; 'code': 0.31; 'catching': 0.31; 'exceptions': 0.31; 'raised': 0.31; 'terminate': 0.31; 'run': 0.32; '(i.e.': 0.33; 'there,': 0.34; "i'd": 0.34; 'could': 0.34; 'problem': 0.35; 'received:209.85': 0.35; 'received:209.85.220': 0.35; 'definition': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'returning': 0.36; 'method': 0.36; 'possible': 0.36; 'subject:?': 0.36; 'received:209': 0.37; 'being': 0.38; 'to:addr:python-list': 0.38; 'to:addr:python.org': 0.39; 'called': 0.40; 'even': 0.60; 'catch': 0.60; 'break': 0.61; 'mentioned': 0.61; 'simply': 0.61; 'simple': 0.61; '(that': 0.65; 'unusual': 0.74; '"simply': 0.84; '2013': 0.98 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=1mrv6LDCFV/inSYS4Zuo7LcGxgrTZK2rJ8LQPPjpgDM=; b=G/FcfKMlPLHUCGBnvoagW2BglN4euwJXGwFm1G6fjPuNYQ6sQF8v1TVrYGOCnZYri5 bt3Iczbx4kd+uiaBqQZ0SKnCcXTzT1Bx0z7OR2JoQtiEM+gsk807z/qtK+WfIk9YIQ9v yKXQB2wIKWWaOhKYmcCdexblb65ujW/UGbVyaLHfAEq5lJVB7c3QvQdXdRgHRJNYUrCg UgUdQKksWA6Agv2b0exMEadSBv4JdCXizyssoblVgnxQaOpmuWD+cyEpwZL88DvLsLW/ 5wlYTIciitI1drZDZYVvVa0fnFjHzNsBpYQxTbn1mchojsrD4YXtGXwzLszk+//+IN0F RrEQ== |
| X-Received | by 10.68.228.134 with SMTP id si6mr42930555pbc.24.1366734687695; Tue, 23 Apr 2013 09:31:27 -0700 (PDT) |
| MIME-Version | 1.0 |
| In-Reply-To | <CAPTjJmpKR8z7Cub1WaurmsuugNgCvPYFdh9WYqJd_1OTfpLw6Q@mail.gmail.com> |
| References | <kl6a1f$k2l$1@panix2.panix.com> <CAPTjJmpKR8z7Cub1WaurmsuugNgCvPYFdh9WYqJd_1OTfpLw6Q@mail.gmail.com> |
| From | Ian Kelly <ian.g.kelly@gmail.com> |
| Date | Tue, 23 Apr 2013 10:30:47 -0600 |
| Subject | Re: Nested iteration? |
| To | Python <python-list@python.org> |
| Content-Type | text/plain; charset=ISO-8859-1 |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.15 |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list/> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.984.1366735164.3114.python-list@python.org> (permalink) |
| Lines | 24 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1366735164 news.xs4all.nl 2189 [2001:888:2000:d::a6]:44935 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:44199 |
Show key headers only | View raw
On Tue, Apr 23, 2013 at 10:21 AM, Chris Angelico <rosuav@gmail.com> wrote: > The definition of the for loop is sufficiently simple that this is > safe, with the caveat already mentioned (that __iter__ is just > returning self). And calling next() inside the loop will simply > terminate the loop if there's nothing there, so I'd not have a problem > with code like that - for instance, if I wanted to iterate over pairs > of lines, I'd happily do this: > > for line1 in f: > line2=next(f) > print(line2) > print(line1) > > That'll happily swap pairs, ignoring any stray line at the end of the > file. Why bother catching StopIteration just to break? The next() there will *not* "simply terminate the loop" if it raises a StopIteration; for loops do not catch StopIteration exceptions that are raised from the body of the loop. The StopIteration will continue to propagate until it is caught or it reaches the sys.excepthook. In unusual circumstances, it is even possible that it could cause some *other* loop higher in the stack to break (i.e. if the current code is being run as a result of the next() method being called by the looping construct).
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Nested iteration? roy@panix.com (Roy Smith) - 2013-04-23 11:40 -0400
Re: Nested iteration? Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-04-23 17:05 +0100
Re: Nested iteration? Ian Kelly <ian.g.kelly@gmail.com> - 2013-04-23 10:05 -0600
Re: Nested iteration? Peter Otten <__peter__@web.de> - 2013-04-23 18:15 +0200
Re: Nested iteration? Chris Angelico <rosuav@gmail.com> - 2013-04-24 02:21 +1000
Re: Nested iteration? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-04-23 16:35 +0000
Re: Nested iteration? Ian Kelly <ian.g.kelly@gmail.com> - 2013-04-23 10:30 -0600
Re: Nested iteration? Ian Kelly <ian.g.kelly@gmail.com> - 2013-04-23 10:39 -0600
Re: Nested iteration? Chris Angelico <rosuav@gmail.com> - 2013-04-24 02:42 +1000
Re: Nested iteration? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-04-23 16:53 +0000
Re: Nested iteration? Terry Jan Reedy <tjreedy@udel.edu> - 2013-04-23 16:49 -0400
Re: Nested iteration? Joshua Landau <joshua.landau.ws@gmail.com> - 2013-04-23 22:14 +0100
Re: Nested iteration? Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-04-23 22:29 +0100
Re: Nested iteration? Joshua Landau <joshua.landau.ws@gmail.com> - 2013-04-23 22:41 +0100
Re: Nested iteration? Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-04-23 23:42 +0100
csiph-web