如何让 2 "Friends" 比较并查看他们是否在彼此的朋友列表中?

How to make 2 "Friends" compare and see if they are on eachothers list of friends?

所以我使用 classes 和 def 来实现,所以如果 2 个人(我有一个 class)在彼此的朋友列表中,那么他们的 ID 特定于每个人。从该列表中删除,并添加到共同好友列表中。

我没有尝试太多,我一直在比较这两个列表。

class People:

    '''People to make friendships, have a name, and a unique ID'''

    numsTimes = 0           ###Class variable for ID

    def __init__(self, name="anon"):
        if name == "anon": self.myname = makeRName()   ####Random Name
        else: self.myname = name
        self.friends = [] 
        self.mutualf = [] 

        self.ID = People.numsTimes          ###Unique ID
        People.numsTimes += 1

    def addFriend(self):            ###Ability for people to add others as friends
        self.friends.append(People.ID)

    def addMutual(self):
        ################I am looking for some if statement here.
        ###############Somehow remove others ID from both lists        
        self.mutualf.append(People.ID)
        else: return

我希望它会检查彼此的朋友列表,如果他们是彼此的朋友,他们将添加到彼此的相互列表并从朋友列表中删除。

如果我是你,我会使用集合而不是朋友列表。 您可以比较共同的朋友:

class People:

    '''People to make friendships, have a name, and a unique ID'''

    numsTimes = 0           ###Class variable for ID

    def __init__(self, name="anon"):
        if name == "anon": self.myname = makeRName()   ####Random Name
        else: self.myname = name
        self.friends = {}
        self.mutualf = {} 

        self.ID = People.numsTimes          ###Unique ID
        People.numsTimes += 1

    def addMutual(self,other):
        mutual = self.friends.intersection(other.friends)
        self.mutual.add(mutual)
        self.friends.remove(mutual)