如何解决此代码不添加信息?

时间:2019-07-12 14:44:00

标签: python set

我想要一个def,它将在其中添加另一个“人” 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'`

1 个答案:

答案 0 :(得分:1)

{}dict的原义语法,而不是set。您需要set可调用来创建一个空集:

self.friends = set() 
self.mutualf = set()

现在,您可以在它们上使用set方法。