0
我有一本dictionarys(D1..DN)的字典(D)。这些DN的内部是数字对。结果是这样的:按特定规则对字典进行排序
D = {1:{1: 15, 2: 20, 3: 50, 4:100},
2:{1: 14, 2: 21, 3: 25, 4: 75},
3:{1: 16, 2: 24, 3: 74, 4:102},
}
现在,我想出了一个比较线路在其他的那些的numpers,并认为是彼此接近的那些程序。如果它找到属于第二行(具有密钥k)的第一行(具有关键字j)的数字,则它产生一个元组(j,k)。程序为除最后一行以外的每一行都执行此操作,所以最后我们将有(N-1)列元组。
C = [[(1,1),(2,2)],
[(1,1),(3,2),(4,3)],
]
现在我需要的是这个规则适用于我的字典d,所以在每行按键代表我收集计划中的信息,如果没有信息化,以填补零那个位置。我想要的结果看起来像这样:
D2 = {1:{1: 15, 2: 20, 3: 0, 4: 50, 5: 0, 6:100},
2:{1: 14, 2: 21, 3: 25, 4: 0, 5: 75, 6: 0},
3:{1: 16, 2: 0, 3: 24, 4: 0, 5: 74, 6:102},
}
我知道这应该是一个相当简单的问题,但我一直在努力,现在几个小时,我不能让我的头解决这个问题。问题是,如果我找到没有合作伙伴的号码,我需要在所有其他线路中递归占位符零。
编辑:你是正确的,我只是忘了字典中的键D.谢谢。然而问题仍然是一样的。
'D'是'set',而不是发布的字典。由于字典不可散列,这将是一个错误。你忘了那里的钥匙。 –
...或者你的意思是一个词典列表。 –
我认为你应该多花点时间解释你打算做的事。 – Leonardo