将一个字典中的值与Python中另一个字典中的值进行比较

时间:2018-04-30 19:08:17

标签: python loops dictionary

我有两本词典:

dict1 = {'Canada' : 2.5, 'UK' : 3.7, 'USA' : 9.0}
dict2 = {'a' : 7, 'b' : 2}

我希望能够使用dict1中的值来遍历dict2中的,以确定哪些元素更大。输出应为:

a is larger than Canada.
a is larger than UK.

(因为7显然大于2.5和3.7)。我希望这是有道理的!

到目前为止,我写过:

for k, v in dict2.items():
    for i, j in dict2:
        print (k, " is larger than ", i)

我收到此错误:ValueError: too many values to unpack (expected 2)

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

你有正确的想法。迭代两个dicts中的项目并进行比较

>>> dict1 = {'Canada' : 2.5, 'UK' : 3.7, 'USA' : 9.0}
>>> dict2 = {'a' : 7, 'b' : 2}
>>> 
>>> 
>>> for kd2, vd2 in dict2.items():
...     for kd1, vd1 in dict1.items():
...         if vd2 > vd1:
...             print(kd2, "is larger than", kd1)
... 
a is larger than Canada
a is larger than UK

答案 1 :(得分:0)

您获得的错误仅仅是因为您在迭代.items()时遗漏了dict2。您只是在重复密钥,因此它不知道如何处理i, j