我已经编写了创建一组字典的代码。我期望输出元素以有意义的格式打印,但是却出现错误。
sets_of_dictionary_ele = {{"name": "Rolf", "grade": "First"},
{"name": "Mark", "grade": "Second"},
{"name": "John", "grade": "Third"},
{"name": "Halen", "grade": "Fourth"}
}
for k,v in sets_of_dictionary_ele:
name = k["name"]
grade = v["grade"]
print(f"{name} has scored {grade} grade.")
收到此错误的原因是因为您用大括号将字典包装起来,从而试图进行设置。字典不可散列,因此它们不能成为集合的成员。您可以使用方括号来创建字典列表,并相应地更改for循环,如下所示:
sets_of_dictionary_ele = [{"name": "Rolf", "grade": "First"},
{"name": "Mark", "grade": "Second"},
{"name": "John", "grade": "Third"},
{"name": "Halen", "grade": "Fourth"}
]
for k in sets_of_dictionary_ele:
name = k["name"]
grade = k["grade"]
print(f"{name} has scored {grade} grade.")
或者,您可以将sets_of_dictionary_ele
变量的格式更改为字典并执行以下操作:
sets_of_dictionary_ele = {'Rolf': 'First',
'Mark': 'Second',
'John': 'Third',
'Halen': 'Fourth'}
for k, v in sets_of_dictionary_ele.items():
name = k
grade = v
print(f"{name} has scored {grade} grade.")