python - 遍历字典中的字典列表
问题描述
我对 python 非常陌生,我在为包含字典列表的字典创建循环时遇到了麻烦。我会很感激帮助!
mylist = {'ID_01': [{'blood type': 'A',
'Age': '15',
'eye colour': 'Green',
'Location': 'Toronto',
'Initial Score': '30',
'Final Score': '50'},
{'blood type': 'B',
'Age': '20',
'eye colour': 'Green',
'Location': 'Tokyo',
'Initial Score': '50',
'Final Score': '80'}],
'ID_02': [{'blood type': 'C',
'Age': '10',
'eye colour': 'Blue',
'Location': 'Toronto',
'Initial Score': '90',
'Final Score': '100'},
{'blood type': 'D',
'Age': '13',
'eye colour': 'Blue',
'Location': 'Tokyo',
'Initial Score': '60',
'Final Score': '90'}]}
new_dictionary = {}
如果位置是多伦多,添加ID,如果位置是东京,检查东京的初始分数(50)是否小于多伦多的初始分数(30)以及东京的最终分数(80)是否大于多伦多的初始分数( 30)但小于多伦多最终得分,如果是,则将与该ID关联的所有数据添加到new_dictionary。
ID
将数据添加到new_dictionary
if
的循环:
initial score of tokyo < initial score of toronto
AND
initial score of toronto < final score of tokyo < final score of toronto
谢谢你!
解决方案
这是您可以执行的操作:
mylist = {'ID_01': [{'blood type': 'A',
'Age': '15',
'eye colour': 'Green',
'Location': 'Toronto',
'Initial Score': '30',
'Final Score': '50'}],
'ID_02': [{'blood type': 'B',
'Age': '10',
'eye colour': 'Blue',
'Location': 'Tokyo',
'Initial Score': '50',
'Final Score': '80'}]}
initial_score_of_tokyo = [mylist[ID][0]["Initial Score"] for ID in mylist.keys() if mylist[ID][0]['Location'] == 'Tokyo'][0]
initial_score_of_toronto = [mylist[ID][0]["Initial Score"] for ID in mylist.keys() if mylist[ID][0]['Location'] == 'Toronto'][0]
final_score_of_tokyo = [mylist[ID][0]["Final Score"] for ID in mylist.keys() if mylist[ID][0]['Location'] == 'Tokyo'][0]
final_score_of_toronto = [mylist[ID][0]["Final Score"] for ID in mylist.keys() if mylist[ID][0]['Location'] == 'Toronto'][0]
new_dictionary = {}
for ID in mylist.keys():
if mylist[ID][0]['Location'] == 'Toronto' or (initial_score_of_tokyo < initial_score_of_toronto and initial_score_of_toronto < final_score_of_tokyo < final_score_of_toronto):
new_dictionary.update({ID:mylist[ID]})
print(new_dictionary)
输出:
{'ID_01': [{'blood type': 'A',
'Age': '15',
'eye colour': 'Green',
'Location': 'Toronto',
'Initial Score': '30',
'Final Score': '50'}]}
推荐阅读
- django - F() 表达式中的 Django 竞争条件聚合(Max)
- android - 在依赖目标上递归获取 CMake 属性
- r - 将多个 excel 工作表读取到单独的数据框中,然后在 R 中附加来自另一个 excel 文件的工作表
- spring - 从 Spring Boot 2.4.6 移动到 2.5.4 后出现 IllegalAccessError
- sql - Postgresql UPSERT 使用 ON CONFLICT 错误
- flutter - 在 performLayout 中构建和添加子项
- node.js - 如何在嵌套对象中发送新添加的项目作为响应
- json - 如何在 MongoDB shell 中正确使用 deleteMany() 和 $and 查询?
- amazon-web-services - AWS EKS Kubernetes pod 需要大量时间才能准备就绪
- android - React Native 错误:只能在对象上定义属性