Python字典特定值查找函数报错问题排查与修正
问题排查与代码修正
你的代码存在两个关键问题,修正后即可正常输出指定键对应的值:
问题点说明
- 参数不匹配:原函数定义的
keys参数仅能接收单个值,但调用时传入了多个键参数,会触发参数数量不匹配的错误。需要将参数改为可变位置参数*keys,支持接收任意数量的键。 - 字典取值错误:循环中错误使用
dictionary[keys]索引字典,应该用循环变量key来取值,否则会尝试用整个键集合作为键去查找,必然导致KeyError。
修正后的代码
def print_values_of(dictionary, *keys): for key in keys: print(dictionary[key]) simpson_catch_phrases = {"lisa": "BAAAAAART!", "bart": "Eat My Shorts!", "marge": "Mmm~mmmmm", "homer": "d'oh", "maggie": " (Pacifier Suck)"} print_values_of(simpson_catch_phrases, 'lisa', 'bart', 'homer')
运行结果
执行后会依次输出:
BAAAAAART! Eat My Shorts! d'oh
内容的提问来源于stack exchange,提问作者lukhanyo mvotho
相关产品推荐
相关产品推荐

