python - 我怎样才能找到字典中值之间的所有差异?

标签 python dictionary

假设我有一本字典:

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

关于python - 我怎样才能找到字典中值之间的所有差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44725661/

相关文章:

python - 如何根据值合并两个字典列表

python - 在 python 中创建一个新字典,其值基于第二个参数的唯一值

python - 如何使用 url 在 Python 中访问 s3 文件?

java - 在 python 中使用枚举创建子类的新实例

python - 数据流SDK版本

c# - Linq 从 Dictionary 值匹配中返回WhereEnumerableIterator?

ios - Swift:如何将字典数组添加到数组?

python-pyramid 应用程序内 stub 本没有释放

python - 使用 reticulate 导入 arcpy

python - 为每个键构建一个字典,一组来自元组列表的关联值