List comprehensions: Difference between revisions

Content added Content deleted
(Added Clojure example)
(→‎{{header|Python}}: changed from 21 to n and added generator function example)
Line 59: Line 59:


=={{header|Python}}==
=={{header|Python}}==
List comprehension:


[(x,y,z) for x in xrange(1,21) for y in xrange(x,21) for z in xrange(y,21) if x**2 + y**2 == z**2]
[(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]


Generator comprehension:
TODO: Alternative with generators

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

Generator function:

def gentriples(n):
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:
yield (x,y,z)