python - 如何修复此代码而不添加信息?
问题描述
我想要一个def
它将其他“Persons”ID 添加到它的集合中。
class People:
def __init__(self, name="anon"):
if name == "anon":
self.myname = makeRName() ####Random Name
else:
self.myname = name
self.friends = {}
self.mutualf = {}
def addFriend(self, other):
self.friends.add(other.ID)
def showFriends(self):
print(self.friends)
def makeMutual(self, other):
mutual = self.friends.intersection(other.friends)
self.mutual.add(mutual)
self.friends.remove(mutual)
我希望将 ID 添加到集合中,但得到:
`AttributeError: 'dict' object has no attribute 'add'`
解决方案
{}
是dict
文字语法,而不是set
. 您需要set
可调用来创建一个空集:
self.friends = set()
self.mutualf = set()
现在您可以set
对它们使用这些方法。
推荐阅读
- c++ - 列出 const 和数组结构字段的初始化
- google-sheets - 用于多个变量的 Google 电子表格函数给出一个结果
- python - Pylint 无法在 mercurial 预提交挂钩上加载插件
- python - main() 接受 0 个位置参数,但给出了 2 个
- python - 以下逻辑在 Python 中做了什么?
- git - 设置 Git 全局变量
- android - 如何配置以便我可以从 GluonHQ 安装两个以上的应用程序 - JavaFX
- selenium-webdriver - 附加在范围报告中的屏幕截图未显示在 Bamboo 工件中,尽管它在本地工作正常
- arangodb - 是否可以在 arangodb 中事先不知道确切结构的情况下对所有属性进行索引?
- r - 当 annotate() 层的标签有下标时,ggsave() 不起作用