python – 如何找到字典中值之间的所有差异?

说我有一本字典:

dictionary = {'A':3,'B',8,'C',12}

我怎么能循环遍历字典这样我找到每个值之间的差异并保存结果.

例如,我想(没有硬编码)使用上面的字典返回如下的字典:

differences = {'A_minus_B':-5,'B_minus_A':5,
               'A_minus_C':-8,'C_minus_A':8,
               'C_minus_B':4,'B_minus_C':-4}

我可以对它进行硬编码,但我希望我的函数更具动态性,以便我可以添加更多元素,而无需编写繁琐的代码行来合并新元素.

最佳答案 一个可行而又丑陋的循环解决方案:

differences = dict()
for k1,v1 in dictionary.items():
    for k2,v2 in dictionary.items():
        if k1==k2: continue
        differences[k1 + '_minus_' + k2] = v1-v2
点赞