创建一组词典时发生错误[关闭]

问题描述 投票:-2回答:1

我已经编写了创建一组字典的代码。我期望输出元素以有意义的格式打印,但是却出现错误。

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.")
python dictionary set
1个回答
2
投票

收到此错误的原因是因为您用大括号将字典包装起来,从而试图进行设置。字典不可散列,因此它们不能成为集合的成员。您可以使用方括号来创建字典列表,并相应地更改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.")
© www.soinside.com 2019 - 2024. All rights reserved.