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

如何将字典中值最大的键存入列表?现有代码返回空列表求修正

问题解决方法

你的代码有三个核心问题,导致无法得到预期结果:

  1. 遍历对象错误:你遍历的是字典的values(),拿到的是数值而非城市名称(字典的key),根本无法获取要存入列表的城市名;
  2. 判断逻辑错误:city in city_dict.values() == max_count的运算顺序会先判断city_dict.values() == max_count(结果为布尔值False),再判断city in False,这永远不成立;
  3. 列表赋值错误:max_city = city会直接覆盖列表变量,而非往列表中添加元素,应该用append()方法。

正确代码实现

你已经正确获取了max_count,只需要遍历字典的键值对,将符合条件的城市名加入列表即可:

# 初始化空列表
max_city = []
# 遍历字典的键值对(城市名: 数值)
for city_name, count in city_dict.items():
    if count == max_count:
        max_city.append(city_name)

如果不想用items(),也可以遍历字典的key,再通过key取对应数值:

max_city = []
for city_name in city_dict:
    if city_dict[city_name] == max_count:
        max_city.append(city_name)

运行后,max_city就会是['Shanghai'],符合预期。

额外优化(可选)

你获取max_count的代码可以用Python内置的max()函数简化,无需循环:

max_count = max(city_dict.values())

这属于Python内置功能,不需要导入任何额外模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:10:15