List comprehensions: Difference between revisions

Content added Content deleted
(→‎{{header|Python}}: changed from 21 to n and added generator function example)
(→‎{{header|Python}}: colourized.)
Line 61: Line 61:
List comprehension:
List comprehension:


[(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]
<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]</python>


Generator comprehension:
Generator comprehension:


((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)
<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)</python>


Generator function:
Generator function:


def gentriples(n):
<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)</python>