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

Python遍历两个字典取值结果异常是什么原因?如何修复?

问题分析与解决方法

为什么会输出所有值

  • 外层for a_key in UAV_dict.keys()逻辑是遍历UAV_dict的全部键,而非仅处理第一个键
  • 内层的break仅能终止当前的内层循环,不会打断外层的遍历流程:每个UAV_dict的键都会匹配hud_data中对应的列表,取出第一个元素打印,最终输出所有键对应的结果

仅输出第一个结果的修改方案

方案1:直接取首个键处理(推荐,无需多余循环)

不需要遍历整个UAV_dict的键,直接提取第一个键操作即可:

# 提取UAV_dict的第一个键
first_uav_key = next(iter(UAV_dict.keys()))
# 直接取对应列表的第一个元素的第一个值,无需内层循环
print(hud_data.get(first_uav_key)[0][0])

方案2:保留原有遍历结构,外层加跳出逻辑

如果需要保留遍历的结构写法,处理完第一个键后直接跳出外层循环即可:

for a_key in UAV_dict.keys():
    for data in hud_data.get(a_key):
        print(data[0])
        break
    # 处理完第一个键直接终止外层遍历
    break

补充优化建议:可以先判断键是否存在于hud_data中,避免get返回None时报错,比如加判断if a_key in hud_data:再执行后续操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:06:03