A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2000-July/006078.html below:

[Python-Dev] list comprehensions again...

[Python-Dev] list comprehensions again...Greg Wilson gvwilson@nevex.com
Tue, 11 Jul 2000 10:42:55 -0400 (EDT)
> >    [x,y for x in (1,2,3) for y in (4,5,6)]
> Hm, I suppose the programmer meant the same as
>     [(x,y) for x in (1,2,3) for y in (4,5,6)]
> Would it be really bad if we forced them to write it that way?

Strongly prefer the latter, as it permits:

      [[x,y] for x in (1,2,3) for y in (4,5,6)]

(either now or in future).  Would it also permit:

      [{x:y} for x in (1,2,3) for y in (4,5,6)]

i.e. dict construction using list comprehension?  I'd use this in quite a
few places.

> Side note: the suggested syntax here (for i in seq1 for j in seq2)
> looks like a potential alternative for the currently proposed parallel
> for loop syntax (for i in seq1; j in seq2).
> 
> Only problem: the for-for variant could be mistaken by someone used to
> see nested loops as meaning the same as
> 
>     for i in seq1:
> 	for j in seq2: ...

Until yesterday's posting, I assumed that this is what for-for loops would
do, i.e. that they'd deliver a cross-product rather than one-from-each.
Was going to ask whether:

    for i in seq1 and j in seq2:
        foo

would be clearer, but then realized that people might assume it implied
that:

    for i in seq1 or j in seq2:
        foo

would also work, meaning either "while either list is non-empty" or
"cross-product".

Random thoughts,
Greg




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4