如何使用python自动创建词典?

noa*_*sci 3 python dictionary list automated-deployment

我正在做一个初学者Python课程,目的是制作一堆词典.

  1. 创建三个词典:劳埃德,爱丽丝和泰勒.

为每个字典提供"名称","家庭作业","测验"和"测试"键.

让"name"键成为学生的名字(也就是说,lloyd的名字应该是"Lloyd"),其他键应该是一个空列表(我们很快就会填写这些列表!)

我通过执行以下操作来完成此操作:

def make_dict(list_of_names):
  for names in list_of_names:
    names = {
      "name": names,
      "homework" : [],
      "quizzes" : [],
      "tests" : []
  }

list_of_names = ["lloyd", 'alice', 'tyler']

make_dict(list_of_names)
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?它应该工作,只是Codeacademy开发区域不允许这个工作吗?我意识到我有点多余,而且我可以非常直接地做到这一点,并故意在我如何做到这一点上发挥创意.

在任何情况下,基于输入列表制作字典的自动化方法是什么?

Mox*_*all 6

你正在创建一个names在每个循环中调用的字典,但实际上并没有用它做任何事情 -

def make_dict(list_of_names):
    results = []
    for names in list_of_names:
        names = {
            "name": names,
            "homework" : [],
            "quizzes" : [],
            "tests" : []
        }
        results.append(names)
    return results

list_of_names = ["lloyd", 'alice', 'tyler']

my_dicts = make_dict(list_of_names)
Run Code Online (Sandbox Code Playgroud)

这会记录names您创建的词汇,然后在最后将它们提供给您.