AttributeError:“NoneType”对象没有属性“add”

Sve*_*ger 3 python set attributeerror

我收到以下错误

AttributeError: 'NoneType' object has no attribute 'add'
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时。

not_yet_bought_set = set()
.
.
.
for value in set_dict.itervalues():
    for item in value:
        not_yet_bought_set = not_yet_bought_set.add(item)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现此错误,是因为我总是将 not_yet_bought_set 设为新的吗?我做这个是因为当我只做的时候

not_yet_bought_set.add(item)
Run Code Online (Sandbox Code Playgroud)

不会有所有值的所有项目。我不知道为什么。

值是集合和

not_yet_bought_set.union(value)
Run Code Online (Sandbox Code Playgroud)

也产生这个错误

谢谢你的帮助。

the*_*eye 8

not_yet_bought_set.add(item)
Run Code Online (Sandbox Code Playgroud)

这将返回None并且您将其分配给not_yet_bought_set. 于是,not_yet_bought_set就变成了None现在。下一次

not_yet_bought_set = not_yet_bought_set.add(item)
Run Code Online (Sandbox Code Playgroud)

被执行,add将在 上调用None。这就是它失败的原因。

要解决这个问题,只需执行以下操作即可。不要将此分配给任何东西。

 not_yet_bought_set.add(item)
Run Code Online (Sandbox Code Playgroud)