我正在尝试从另一个字典的键值有效地构造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个节点的图形,因此我需要这样才能有效。
非常感谢任何帮助。
答案 0 :(得分:6)
我将如何做到这一点:
dict2 = {k: x[:i] + x[i+1:] for x in dict1.values() for i, k in enumerate(x)}
如果您使用的是Python 2.x,则可能需要使用dict1.itervalues()
。