You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何用一个字典的值对比另一个字典的值并输出结果

解决字典值对比的问题

首先,咱们先看看你代码里的问题:
你内层循环写的是for i, j in dict2,这会直接触发ValueError,因为遍历字典默认只会拿到键(比如'a'、'b'),单个字符串没法拆成i和j两个变量,系统就会报错说“预期2个值,但只拿到1个”。

另外,你的循环逻辑也搞反啦——你需要用dict2的值去和dict1的值对比,所以应该外层遍历dict2的键值对,内层遍历dict1的键值对,然后判断大小。

这里是修正后的代码:

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

# 遍历dict2的每个键值对(k是键,v是对应的值)
for k, v in dict2.items():
    # 遍历dict1的每个键值对(country是国家名,num是对应的值)
    for country, num in dict1.items():
        # 判断dict2的值是否大于dict1的值
        if v > num:
            print(f"{k} is larger than {country}.")

运行这段代码后,输出就是你想要的:

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

简单解释下:

  • 用dict.items()才能同时拿到字典的键和值,这是遍历字典键值对的正确方式;
  • 加入了if判断,只输出满足“dict2的值更大”的情况;
  • 用了f-string来格式化输出,比拼接字符串更简洁清晰。

内容的提问来源于stack exchange,提问作者user4490696

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:52:50