Python遍历字典列表打印消息出现AttributeError如何解决?
错误原因
- 你的
points变量是字典列表,属于list类型,只有字典类型才有items()方法用来遍历键值对,列表调用不存在的items()方法就会触发你遇到的AttributeError报错。 - 你的遍历逻辑有误:需要先遍历列表拿到每个字典元素,再从字典中读取
callsign、daily_points两个字段的值,不能直接对列表调用字典专属方法。
可正常运行的代码
points = [ {"callsign": "A001", "daily_points":10, "number":"+447774076621"}, {"callsign": "A002", "daily_points":5, "number":"+447958708481"} ] # 先遍历列表取出每个字典元素 for item in points: print(f"Hi {item['callsign']} you received {item['daily_points']} points today.")
额外注意事项
你原代码里的输出字符串把received拼写错成了recieved,修正后输出内容才符合要求。
内容的提问来源于stack exchange,提问作者Louis James
相关产品推荐
相关产品推荐

