0

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 .... など

4

3 に答える 3

1

あなたがしようとしているのは、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
于 2013-04-02T07:59:17.573 に答える
0
    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
于 2013-04-02T16:26:05.807 に答える