0

我正在尝试从另一个字典的键值有效地构造一个 python 字典。

例如...

    dict1 = {'foo': [1, 3, 7], 'bar': [2, 4, 8]} ## note: all values in {key: value} will be unique
    ## Algorithm here...
    dict2 = {1: [3, 7], 3: [1, 7], 7: [1, 3], 2: [4, 8], 4: [2, 8], 8: [2, 4]}

我可以通过蛮力方法得到这个结果,但是这些字典适用于超过 100000 个节点的图,所以我需要它来提高效率。

任何帮助将不胜感激。

4

1 回答 1

6

这是我将如何做到这一点:

dict2 = {k: x[:i] + x[i+1:] for x in dict1.values() for i, k in enumerate(x)}

如果您使用的是 Python 2.x,则可能需要使用dict1.itervalues().

于 2013-05-23T21:42:47.497 回答