OK by dynamic I mean unknown at runtime.
here is a dict:
aDict[1]=[1,2,3]
aDict[2]=[7,8,9,10]
aDict[n]=[x,y]
I don't know how many n will be but I want to loop as follows:
for l1 in aDict[1]:
for l2 in aDict[2]:
for ln in aDict[n]:
# do stuff with l1, l2, ln combination.
Any suggestions on how to do this? I am relatively new to python so please be gentle (although I do program in php). BTW I am using python 3.1
You need itertools.product.
from itertools import product
for vals in product(*list(aDict.values())):
# vals will be (l1, l2, ..., ln) tuple
Same idea as DrTyrsa, but making sure order is right.
from itertools import product
for vals in product( *[aDict[i] for i in sorted(aDict.keys())]):
print vals
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