【问题标题】:create new dictionary from mapping list into dictionary从映射列表创建新字典到字典
【发布时间】:2021-07-28 12:53:17
【问题描述】:

我想通过将列表映射到字典来创建新字典,因此列表项将是键,字典将是值。

学生名单:

[Student1,Student2,Student3]

字典:

{Math:90, CS:94, Since:89}

预期结果是一本字典:

{
 "Student1":{
     Math:90
},
"Student2":{
     CS:94
},
"Student3":{
 Since:89

}
}

我托盘这个:

new_dic=dic()
new_dic = dic(zip(students,dic1)

输出: { 学生1:数学, 学生2:CS, 学生3:自从 }

但它给了我意想不到的结果。我也尝试了here 的解决方案,但它对我不起作用。

【问题讨论】:

    标签: python dictionary


    【解决方案1】:

    使用zip 以及一些修改来重现内部dict结构

    names = ["Student1", "Student2", "Student3"]
    values = {"Math": 90, "CS": 94, "Since": 89}
    result = {name: {course: val} for name, (course, val) in zip(names, values.items())}
    

    【讨论】:

      【解决方案2】:

      或者,您可以使用:

      a = ['student1','student2','student3']
      b = { "Math":90 , "CS":94, "Since":89 }
      c = {k1: {k2: v}  for (k1,k2,v) in zip(a, b.keys(), b.values())}
      

      【讨论】:

      • 谢谢 Aaron 我觉得你的回答也对。
      猜你喜欢
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 2021-01-26
      • 2018-09-21
      相关资源
      最近更新 更多