List comprehensions: Difference between revisions
Content added Content deleted
m (Moved to Basic learning cat) |
No edit summary |
||
Line 61: | Line 61: | ||
List comprehension: |
List comprehension: |
||
<python>[(x,y,z) for x in xrange(1,n+1) for y in xrange(x,n+1) for z in xrange(y,n+1) if x**2 + y**2 == z**2]</ |
<lang python>[(x,y,z) for x in xrange(1,n+1) for y in xrange(x,n+1) for z in xrange(y,n+1) if x**2 + y**2 == z**2]</lang> |
||
Generator comprehension (note the outer round brackets): |
Generator comprehension (note the outer round brackets): |
||
<python>((x,y,z) for x in xrange(1,n+1) for y in xrange(x,n+1) for z in xrange(y,n+1) if x**2 + y**2 == z**2)</ |
<lang python>((x,y,z) for x in xrange(1,n+1) for y in xrange(x,n+1) for z in xrange(y,n+1) if x**2 + y**2 == z**2)</lang> |
||
Generator function: |
Generator function: |
||
<python>def gentriples(n): |
<lang python>def gentriples(n): |
||
for x in xrange(1,n+1): |
for x in xrange(1,n+1): |
||
for y in xrange(x,n+1): |
for y in xrange(x,n+1): |
||
for z in xrange(y,n+1): |
for z in xrange(y,n+1): |
||
if x**2 + y**2 == z**2: |
if x**2 + y**2 == z**2: |
||
yield (x,y,z)</ |
yield (x,y,z)</lang> |