Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用占位符变量创建和更新字典_Python_Dictionary - Fatal编程技术网

在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
的实例传入值。。。