Iterating over several lists at once
Roberto Bonvallet
Roberto.Bonvallet at cern.ch
Wed Dec 13 08:58:42 EST 2006
Gal Diskin wrote:
> Hi,
> I am writing a code that needs to iterate over 3 lists at the same
> time, i.e something like this:
>
> for x1 in l1:
> for x2 in l2:
> for x3 in l3:
> print "do something with", x1, x2, x3
What's wrong with this?
[...]
> I'd be very happy to receive ideas about how to do this in one loop and
> with minimal initialization (if at all required).
def cartesian_product(l1, l2, l3):
for i in l1:
for j in l2:
for k in l3:
yield (i, j, k)
for (i, j, k) in cartesian_product(l1, l2, l3):
print "do something with", i, j, k
--
Roberto Bonvallet
More information about the Python-list
mailing list