Python 如何更改dict out类的值

Python 如何更改dict out类的值,python,Python,我想更改dict值,但请向我报告一个错误“对象不支持项分配” 完整代码: def __init__(self): self.dict = dict() def __getitem__(self, item): return self.dict[item] arr = SparseArray() arr[0] = 1``` 您需要覆盖\uuuuu setitem\uuuuuu def __setitem__(self, key, value)

我想更改dict值,但请向我报告一个错误“对象不支持项分配”

完整代码:

    def __init__(self):
        self.dict = dict()

    def __getitem__(self, item):
        return self.dict[item]


arr = SparseArray()
arr[0] = 1```

您需要覆盖
\uuuuu setitem\uuuuuu

def __setitem__(self, key, value):
    self.dict[key] = value
然后,您将能够使用索引分配一个值

# use of __setitem__
arr[0] = 1
arr["foo"] = 5

# use of __getitem__
print(arr[0])  # 1
print(arr["foo"])  # 5


另外,避免将变量命名为内置名称,如
dict
,如果变量的内容没有真正意义,至少可以使用
,如果您已经为类定义了
\uuuu setitem\uuuu