在python中使用占位符变量创建和更新字典
我正在努力实现这样的目标在python中使用占位符变量创建和更新字典,python,dictionary,Python,Dictionary,我正在努力实现这样的目标 classroom = {"john" : {"grade_math": placeholder_grade_math, "grade_physics": placeholder_grade_physics} 然后 因此,现在我想将等级的键与教室的占位符匹配并更新它。有什么类似蟒蛇的方法吗 我遇到过这个问题,但我正试图在没有regexp的情况下实现同样的效果 编辑: 我应该指出,dict教室就像一个模板。它按原样传递给类。
classroom = {"john" : {"grade_math": placeholder_grade_math,
"grade_physics": placeholder_grade_physics}
然后
因此,现在我想将等级
的键与教室
的占位符匹配并更新它。有什么类似蟒蛇的方法吗
我遇到过这个问题,但我正试图在没有regexp的情况下实现同样的效果
编辑:
我应该指出,dict教室
就像一个模板。它按原样传递给类。占位符变量是在执行过程中生成的,我希望在不使用键的情况下更新它们
当然,预期的输出是
classroom = {"john" : {"grade_math": "10",
"grade_physics": "8"}
但不知何故,从年级
到教室
另一编辑:
现在说,原来的教室
更改为
classroom = {"john" : {"grade_math": placeholder_grade_math,
"grade_physics": placeholder_grade_physics,
"grade_geometry": placeholder_grade_geometry}
但是
等级
保持不变。我之所以选择“解包”,是因为我只想在一个地方(教室)修改钥匙,而且占位符被填满了,而不需要我再修改其他部分(成绩
)。这就是你要找的吗
classroom = {"john" : {"grade_math": grades['placeholder_grade_math'],"grade_physics": grades['placeholder_grade_physics']}}
这就是你要找的吗
classroom = {"john" : {"grade_math": grades['placeholder_grade_math'],"grade_physics": grades['placeholder_grade_physics']}}
您只需要一个函数:
def make_classroom(grades):
return {
"john": {
"grade_math": grades['math'],
"grade_physics": grades['physics']
}
}
classroom = make_classroom({'math': "10", 'physics': "8"})
您只需要一个函数:
def make_classroom(grades):
return {
"john": {
"grade_math": grades['math'],
"grade_physics": grades['physics']
}
}
classroom = make_classroom({'math': "10", 'physics': "8"})
我认为这样做也会奏效:
def getStudentGrades(**kwargs):
classroom = {"john" :
{
"grade_math": kwargs["placeholder_grade_math"],
"grade_physics": kwargs["placeholder_grade_physics"],
"grade_geometry": kwargs["placeholder_grade_geometry"]
}
}
return classroom
if __name__ == "__main__":
kwargs = {
"placeholder_grade_math": str(10),
"placeholder_grade_physics": str(8),
"placeholder_grade_geometry": None
}
### you can change geometry grades from None to
### whichever score you would like, using `None` for reference.
getJohnsGrade = getStudentGrades(**kwargs)
print(getJohnsGrade)
我认为这样做也会奏效:
def getStudentGrades(**kwargs):
classroom = {"john" :
{
"grade_math": kwargs["placeholder_grade_math"],
"grade_physics": kwargs["placeholder_grade_physics"],
"grade_geometry": kwargs["placeholder_grade_geometry"]
}
}
return classroom
if __name__ == "__main__":
kwargs = {
"placeholder_grade_math": str(10),
"placeholder_grade_physics": str(8),
"placeholder_grade_geometry": None
}
### you can change geometry grades from None to
### whichever score you would like, using `None` for reference.
getJohnsGrade = getStudentGrades(**kwargs)
print(getJohnsGrade)
不清楚你的最终输出是什么。以下内容将实现您所说的,但我认为这不是您想要的:
grades=school[“john”]
您在这里期望的输出是什么,以及什么是placeholder\u grade\u math
?不清楚您的最终输出是什么。以下内容将实现您所说的,但我认为这不是您想要的:grades=教室[“john”]
您希望这里的输出是什么?占位符(占位符)和数学是什么?首选的解决方案是在函数中没有教室
来更新它。普通的dict
无法实现您想要的功能。那么您能建议另一种结构吗?我建议不要绑定其中的内容容器中的内容。如果要更新教室,请更新教室,不是一个单独的等级容器。首选的解决方案是在函数中没有教室
来更新它。普通的dict
不能做你想做的事。那么你能建议另一种结构吗?我建议不要将一个容器的内容绑定到另一个容器的内容上。如果您想更新教室,请更新教室,而不是单独的成绩容器。我希望能够做到这一点,而不必将教室
放在函数井中。无论您想以何种方式返回教室,请使用kwargs['key']要通过getStudentGrades
的实例传入值,我希望能够做到这一点,而无需将课堂
放在函数中。无论您想以何种方式返回课堂,都可以使用kwargs['key']通过getStudentGrades
的实例传入值。。。