Как сделать так, чтобы 2 «Друзья» сравнивали и видели, есть ли они в списке друзей друг друга? - PullRequest
1 голос
/ 11 июля 2019

Так что я использую классы и def, чтобы сделать так, чтобы 2 человека (которых я имею в классе) были в списке друзей друг друга, а также их ID, который индивидуален для каждого человека.Быть удаленным из этого списка и быть добавленным в общие списки друзей.

Я не очень много пробовал, я застрял при сравнении этих 2 списков.

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

Я надеюсь, что этопроверит список друзей друг друга, если они являются друзьями друг друга, они будут добавлены во общий список друг друга и удалены из списка друзей.

1 Ответ

2 голосов
/ 11 июля 2019

На вашем месте я бы использовал наборы вместо списков для друзей.Вы можете сравнить общих друзей с:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...