Python 创建一组词典时出错
我已经编写了创建一组词典的代码。当我期望输出元素以有意义的格式打印时,我得到了一个错误Python 创建一组词典时出错,python,dictionary,set,Python,Dictionary,Set,我已经编写了创建一组词典的代码。当我期望输出元素以有意义的格式打印时,我得到了一个错误 sets_of_dictionary_ele = {{"name": "Rolf", "grade": "First"}, {"name": "Mark", "grade": "Second"}, {"name": "John", "grade": "Third"},
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.")
出现此错误的原因是,您正在用花括号包装dicts,这会试图创建一个集合。字典是不易损坏的,所以它们不能是集合的成员。您可以使用方括号创建dict列表,并相应地更改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.")
或者,您可以将set\u of_dictionary\u ele
变量的格式更改为dictionary,并执行以下操作:
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.")
这将有助于了解您所遇到的错误-猜测这是因为您无法将多个对象像字典一样存储在一个集合中?这是否回答了您的问题?