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

使用随机变量检查字典子键值时遇KeyError: 'gender'问题求助

修复方案

你的代码出现KeyError: "gender"的核心原因是:data字典的顶层键是"escritorio"、"viento"这类单词,根本不存在"gender"这个顶层键,你错误地颠倒了字典的访问层级。

正确的逻辑步骤是:

  • 先用随机选中的random_data(即某个单词键)获取对应的子字典
  • 再从子字典中取出"gender"的值进行判断

修改后的代码如下:

import random

data = {
    #MALE
    "escritorio": {
        "gender": "male",
    },

    "viento": {
        "gender": "male",
    },

    #FEMALE
    "silla": {
        "gender": "female",
    },

    "mesa": {
        "gender": "female",
    },
    
}

# 随机选中一个单词键
random_data = random.choice(list(data))
# 获取该单词对应的gender值
word_gender = data[random_data]["gender"]

if word_gender == "male":
    print(f"{random_data}: word is Male")
elif word_gender == "female":
    print(f"{random_data}: word is Female")
else:
    print(f"{random_data}: unknown gender")  # 处理意外情况的兜底逻辑

额外优化建议:

  • 使用f-string让打印语句更简洁易读
  • 添加elif和else分支,避免当出现非"male"/"female"的gender值时逻辑出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:10:10