2

我有这样的课:

class MyClass:
    def __init__(self, id, names):
        self.id = id
        self.names = names

稍后,我正在这样做:

classlist = []
classlist.append(MyClass("1", {"Key1", "Value"})) #add first key-value pair
classlist[0].names["Key2"] = "New Value" #add second key-value pair

但它在第三行失败了 TypeError: 'set' object does not support item assignment。我是 Python 新手,请教我如何正确执行此操作。

4

2 回答 2

6

你传入的是一个集合,而不是字典。它应该是

classlist.append(MyClass("1", {"Key1": "Value"}))

请注意,:而不是,将 Key1 和 Value 分开。 {arg, arg, arg}是创建集合的简写。

于 2013-09-02T01:54:02.473 回答
0

你应该使用“:”作为字典!

于 2013-09-02T11:16:32.883 回答