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

Python如何封装函数传入key获取指定字典对应键的value值

正确实现方案

基础版(直接复用现有全局cosmetics字典)

def care(key):
    # 若cosmetics字典已定义在函数外,可删除下一行定义代码
    cosmetics = {"Hair": ["Shampoo", "Conditioner", "Repair"], "Skin": ["Cream", "Lotion", "Wipes"], "MakeUp": ["Lipstick", "Foundation", "Liner"]}
    return cosmetics.get(key)

调用方式:

# 传入指定key即可返回对应值
print(care("Skin"))
# 输出结果:['Cream', 'Lotion', 'Wipes']

通用版(支持传入任意字典查询)

def care(target_dict, key):
    return target_dict.get(key)

调用方式:

cosmetics = {"Hair": ["Shampoo", "Conditioner", "Repair"], "Skin": ["Cream", "Lotion", "Wipes"], "MakeUp": ["Lipstick", "Foundation", "Liner"]}
print(care(cosmetics, "Hair"))
# 输出结果:['Shampoo', 'Conditioner', 'Repair']
原有代码错误原因说明
  • 版本1:参数定义错误,调用时传入的字符串"Skin"被识别为函数内的cosmetics变量,字符串不存在keys()方法会报错,且内部逻辑为遍历整个字典,必然输出所有值
  • 版本2:参数要求传入键、值两个参数,且用列表推导式遍历了字典的所有键值对,自然会输出全部内容,无法实现单个key查询
  • 报错版本:Python强制要求函数体、循环体做缩进,无缩进会直接触发语法错误,且逻辑为遍历全字典,依然会输出所有内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:39:04