----- Mensaje original ---- > De: Leif Walsh <[EMAIL PROTECTED]> > Para: Andreas Nilsson <[EMAIL PROTECTED]> > CC: python-dev@python.org > Enviado: viernes, 3 de octubre, 2008 10:29:33 > Asunto: Re: [Python-Dev] if-syntax for regular for-loops > > On Fri, Oct 3, 2008 at 6:10 AM, Andreas Nilsson wrote: > > With that out of the way, on to todays subject: > > I use list comprehensions and generator expressions a lot and lately I've > > found myself writing a lot of code like this: > > > > for i in items if i.some_field == some_value: i.do_something() > > > > Naturally it won't work but it seems like a pretty straight-forward > > extension to allow compressing simple loops to fit on one line. The > > alternative, in my eyes, suggests there's something more happening than a > > simple include-test which makes it harder to comprehend. > > > > for i in items: > > if i.some_field == some_value: i.do_something() > > > > One possibility of course is to use a generator-expression but that makes it > > look like there are two for loops and it feels like a waste setting up a > > generator just for filtering. > > > > for i in (i for i in items if some_field == some_value): > > i.do_something() > > > > Stupid idea? Am I missing some obviously better way of achieving the same > > result? > > It's been discussed already. Essentially, all that saves is a newline > or two, which, as I think has been generally accepted, tends to hurt > readability.
The exact same argument could be used for list comprehensions themselves. They exist anyway, creating inconsistency in the language (being almost identical to for loops regarding syntax) Vitor ____________________________________________________________________________________ Premios MTV 2008¡En exclusiva! Fotos, nominados, videos, y mucho más! Mira aquí http://mtvla.yahoo.com/ _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com