python字典搜索、比较和计算值

python字典搜索、比较和计算值,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我有两本字典,如下所示: dict1 = {1: (7, 5), 2: (5, 9), 3: (3, 4)} dict2 = {1: (9, 12), 2: (6, 11), 3: (7, 19)} 字典可以有无限数量的键,可能是10k,每个键都是唯一的正数。我需要三个独立的函数,它们将返回一个带有以下内容的单键: func1)第二个值位置之间的最大差值,即上述19-4=15示例中的键3 func2)第一个值位置之间的最大差值,也是上述7-3=4示例中的键3 func3)作为键值之和的最大差

我有两本字典,如下所示:

dict1 = {1: (7, 5), 2: (5, 9), 3: (3, 4)}

dict2 = {1: (9, 12), 2: (6, 11), 3: (7, 19)}
字典可以有无限数量的键,可能是10k,每个键都是唯一的正数。我需要三个独立的函数,它们将返回一个带有以下内容的单键:

func1)第二个值位置之间的最大差值,即上述19-4=15示例中的键3

func2)第一个值位置之间的最大差值,也是上述7-3=4示例中的键3

func3)作为键值之和的最大差值,也是键值3,因为(7+19)-(3+4)=19


两个字典都有相同的键,dict2可以有相同或更高的值。如果函数找到多个具有相同结果的键,它将返回更高的键。

那么简单的方法,比如一次遍历字典,怎么样。如果它们具有相同的键,您可以在1个dict上迭代

def func(d1, d2):
    m = (0, 0)
    for k in d1:
        res = abs(d1[k][1] - d2[k][1]) #func1
        #res = abs(d1[k][0] - d2[k][0]) # func2
        #res = abs(sum(d1[k]) - sum(d2[k])) # func3
        if res > m[1]: m = (k, res)
    return m[0]

@RyPeck提出了一个很好的观点,除非你希望有人为你编写代码,否则我们需要继续进行。我不确定如何开始,我不要求完成的解决方案只是为了一个好的起点。简单且非常有效。谢谢你,比尔