我有一个长度未知的字典,字符串作为键,列表作为vals
from collections import OrderedDict
vars = OrderedDict(( ('first', [0,1,2,3]),
('second', [4,5]),
('third', [6,7,8]),
))
我需要以嵌套方式遍历每个列表。如果我知道字典的长度,那么我可以轻松做到:
for v1 in vars['first']:
for v2 in vars['second']:
for v3 in vars['third']:
do_something(v1,v2,v3)
但是因为len(vars)未知,所以我不知道该怎么做。有什么建议吗?
答案 0 :(得分:1)
使用itertools.product
,可为您提供列表中值的所有组合。
import itertools
for vals in itertools.product(*vars.values()):
do_something(*vals)