> > [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