首页 > 解决方案 > 如何修复此代码而不添加信息?

问题描述

我想要一个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'`

标签: pythonset

解决方案


{}dict文字语法,而不是set. 您需要set可调用来创建一个空集:

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

现在您可以set对它们使用这些方法。


推荐阅读