python - 如何替换列表内字典中的值?
问题描述
例如,这是一个列表
my_list = [{'name':'Tomy', 'review':98, 'job':'engineer'},
{'name':'John', 'review':52, 'job':'engineer'},
{'name':'Mike', 'review':77, 'job':'developer'},
{'name':'Jay', 'review':68, 'job':'student'}]
所以根据这些人的评论分数,如果评论分数低于75,我想按“低分”和“高分”分组,然后“低分”,否则“高分”
所以这就是我所期望的,
my_list = [{'name':'Tomy', 'review':'high score', 'job':'engineer'},
{'name':'John', 'review':'low score', 'job':'engineer'},
{'name':'Mike', 'review':'high score', 'job':'developer'},
{'name':'Jay', 'review':'low score', 'job':'student'}]
所以我试着这样做:
for i in my_list:
for score in i['review']:
if score<=75:
i['review']='low score'
else:
i['review']='high score'
但是,这似乎一直在运行,并出现 my_list 不是字典的错误...有人可以帮忙吗?谢谢!
解决方案
在for score in i['review']:
中,您尝试遍历一个标量。这是不可能的,也不需要这条线。外循环就足够了:
for i in my_list:
i['review'] = 'low score' if i['review'] <= 75 else 'high score'
推荐阅读
- ios - SwiftUI TabbedView 仅显示第一个选项卡的内容
- xojo - 为什么 Microsoft Office 自动化仅在 Windows 上可用?
- java - 微服务无法访问 docker-compose 中的配置服务
- eclipse - 黄瓜执行不一致
- android - 如何从 git 克隆以尝试在我的 android 中进行测试?
- python - 汉宁窗口值在 Python 和 Matlab 中不匹配
- json - 通过 Zapier 卷曲命令创建带参数的条纹发票
- regex - 正则表达式过滤掉如果不等于
- python-3.x - 如何修复 Python 中的减法运算
- c# - 如何写入数据表?