dictList = {1:[1,3,4,8], 2:[5,7,2,8], 3:[6,3,5,7]} の辞書があるとします。
すべての組み合わせを次のように出力したい: key,value first iteration 1,1 2,5 3,6 second iteration 1,1 2,5 3,3 .... など
dictList = {1:[1,3,4,8], 2:[5,7,2,8], 3:[6,3,5,7]} の辞書があるとします。
すべての組み合わせを次のように出力したい: key,value first iteration 1,1 2,5 3,6 second iteration 1,1 2,5 3,3 .... など
あなたがしようとしているのは、3 つのキーと値のペアのすべての一意のセットを取得することであると仮定します。
from itertools import permutations
# define dictList
# define numkeys to be the number of keys in dictList
# define maxLen to be the number of items in each dict value
perms = permutations(range(maxLen),numKeys)
for p in perms:
i = 1 # you're indexing your dictionary from 1, not 0
while i <= numKeys:
myfunction(i,dictList[i][p[i-1]]) # ...which is why this is awkward
i += 1
from itertools import product
from itertools import izip_longest # This is used to deal with variable length of lists
dictList = {1:[1,3,4,8], 2:[5,7,2,8], 3:[6,3,5,7,8]}
dict1 = [dict(izip_longest(dictList, v)) for v in product(*dictList.values())]
for dict2 in dict1:
for key, value in dict2.items():
print key, value