如何使用Python循环及条件语句从键值对集合中查询狗的数量对应值
现有代码问题
return仅可在Python函数内部使用,直接在全局作用域运行会触发语法错误- 当前逻辑只能获取到包含
Dogs键的字典对象,无法直接返回狗的数量取值
实现方案
假设你的KC字典结构为 {键: {'Dogs': 数量, 其他动物: 数量}},两种常用实现方式如下:
- 封装为函数调用(适合多次复用)
def get_dogs_count(KC: dict): for value in KC.values(): # 提前判断类型避免非字典值遍历报错 if isinstance(value, dict) and "Dogs" in value: return value["Dogs"] # 未查询到对应内容时返回默认值 return 0 # 调用示例 KC = { "group1": {"Cats": 3, "Dogs": 5}, "group2": {"Birds": 8, "Fish": 12} } print(get_dogs_count(KC)) # 输出结果:5
- 全局直接运行(适合单次查询)
dogs_count = 0 for value in KC.values(): if isinstance(value, dict) and "Dogs" in value: dogs_count = value["Dogs"] # 找到结果后直接终止遍历,节省性能 break print(dogs_count)
如果你存储的
KC值是"Dogs: 6"这类字符串格式,可修改取值逻辑:
dogs_count = 0 for value in KC.values(): if isinstance(value, str) and "Dogs" in value: # 分割字符串提取数字部分 dogs_count = int(value.split(":")[-1].strip()) break print(dogs_count)
内容的提问来源于stack exchange,提问作者boomkings
相关产品推荐
相关产品推荐

