1
我有一個字典,其中每個值都是列表的列表。我想遍歷字典值的所有可能組合
喜歡的東西:
sites = {'e1': [[0, 1, 3], [0, 2, 3]], 'e2': [[0, 1, 4], [0, 3, 4]]}
我想通過所有可能的組合列表(在我的例子,即對)(即一個的e2
e1
+一個名單列表等)循環。
與例如更好:
我想遍歷所有這些組合:
[0, 1, 3]; [0, 1, 4]
[0, 1, 3]; [0, 3, 4]
[0, 2, 3]; [0, 1, 4]
[0, 2, 3]; [0, 3, 4]
此例詞典有兩個密鑰但在實踐中,我不知道有多少鍵會在我的字典。它可能超過兩個。
你能幫忙嗎?
請參閱下文; 'itertools.product(* sites.values())'會做到這一點。 –
或'list(reduce(product,sites.values()))' –
取決於您是否想要獲得2元組或n元組(對於dict中的n個條目)。 'itertools.product'將產生n元組。使用'itertools.combinations'你可以指定元組的長度。 –