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.")

这将有助于了解您所遇到的错误-猜测这是因为您无法将多个对象像字典一样存储在一个集合中?这是否回答了您的问题?