Did you know you can do this?
>>> [(x,y) for x in xrange(2) for y in xrange(5)]
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4)]
It's neat. Is there a for loop version or can one only do this for list comprehensions?
EDIT: I think my question was misunderstood. I want to know if there is special syntax for this:
for x in xrange(2) <AND> y in xrange(5):
print "do stuff here"
print "which doesn't fit into a list comprehension"
print "like printing x and y cause print is a statement", x, y
I could do this, but it seems a bit repetitive:
for x,y in ((x,y) for x in xrange(2) for y in xrange(5)):
print x, y
Well there's no syntax for what you want, but there is itertools.product
.
>>> import itertools
>>> for x, y in itertools.product([1,2,3,4], [5,6,7,8]): print x, y
...
1 5
1 6
1 7
1 8
[ ... and so on ... ]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With