python - 从满足某些条件的字典中返回单个值
问题描述
我有一本这样的字典:
x = {
"Student": [
{
"Student Details": {
"name": "Alex",
"class": "Biology",
"gender": "male",
},
"Nationality": "",
"Test Score": 10.0,
"Exam Score": 70.0,
},
],
}
如果学生详细信息嵌套字典包含键名称、班级和性别,我想从该字典返回考试成绩。
示例输出应该是,如果学生详细信息具有名称、班级和性别等标签,则应返回考试分数为 70.0
我已经尝试过了,但不确定它是否正确
d = ('name','class','gender')
for k,v in x.items():
if k == 'Student Details':
if set(d).issubset(v):
print('yes, this student details key has tags as names, class and gender')
print(x['Exam Score'])
解决方案
一个简单的解决方案,假设数据的结构不会改变:
expected_details = ['name','class','gender']
if all([field in expected_details for field in data["Student"][0]["Student Details"].keys()]):
print(data["Student"][0]['Exam Score'])
这使:
70.0
推荐阅读
- python - Python OpenCV 对象跟踪
- java - Paths.get() / Path.of() 在升级到 Java 16 时抛出 NullPointerException
- android - 在 Android Fragment 的 TextView 中不显示设置值
- html - 如何在没有“填充”之类的技巧的情况下将我的文本居中对齐?
- java - java.lang.NoClassDefFoundError 当我使用 Eclipse IDE 添加外部 JAR 时
- node.js - 重新加载适用于 localhost 但不适用于 heroku url
- python - 使用 Django 3.2.6 覆盖模板
- graph - ytics中的Gnuplot多个值
- c++ - gtkmm : 用 cairo 绘制文本
- java - 在 Pivotal Cloud Foundary 中访问外部 api 时出现套接字连接异常