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

Python字典循环异常:为何始终打印Cell_num_8而非目标键?

问题分析与解决

你的代码问题出在只遍历了字典的值,却没有关联对应的键,而且keys变量根本没在循环里定义——你看到的Cell_num_8大概率是环境中残留的变量值,本质上这个写法完全不符合需求。

要实现遍历字典、打印值为"NaN"的键,你需要遍历字典的键值对,同时获取键和对应的值:

修正后的代码

Admin = {
    "Cell_num_1": "NaN",
    "Cell_num_2": 987654321,
    "Cell_num_3": "NaN",
    "Cell_num_4": 123456789,
    "Cell_num_5": "NaN",
    "Cell_num_6": 987654321,
    "Cell_num_7": "NaN",
    "Cell_num_8": 123456789,
}

# 遍历字典的键值对,同时拿到键(key)和值(value)
for key, value in Admin.items():
    if value == "NaN":
        print(key)

为什么原代码不对?

  • for values in Admin.values()只会逐个取出字典里的值,完全没涉及键的信息,你打印的keys是未在当前循环中定义的变量,它的值和当前遍历毫无关系。
  • 使用Admin.items()可以同时获取每个键值对的键和值,这样判断值符合条件时,就能直接打印对应的键,得到你预期的Cell_num_1、Cell_num_3、Cell_num_5、Cell_num_7。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:42:37