如何让 2 个“朋友”比较,看看他们是不是在彼此的朋友列表中?

Posted

技术标签:

【中文标题】如何让 2 个“朋友”比较,看看他们是不是在彼此的朋友列表中?【英文标题】:How to make 2 "Friends" compare and see if they are on eachothers list of friends?如何让 2 个“朋友”比较,看看他们是否在彼此的朋友列表中? 【发布时间】:2019-07-11 03:56:37 【问题描述】:

所以我使用类和 def 来制作它,所以如果 2 个人(我作为一个类)在彼此的朋友列表中,那么他们的 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

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

【问题讨论】:

我没有看到你在addMutual传递其他ID 是的,我有点卡住了。我在随机造人,所以我很难考虑如何比较两个不存在的人名单,哈哈。 简单地说,你需要两个 id 和两个朋友列表来实现你想要的 【参考方案1】:

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

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)

【讨论】:

啊,谢谢。我是 python 新手,所以我什至不知道 .intersection。非常感谢!

以上是关于如何让 2 个“朋友”比较,看看他们是不是在彼此的朋友列表中?的主要内容,如果未能解决你的问题,请参考以下文章

当两个用户/朋友彼此靠近时发出警报 - Android Proximity

如何证明两个字符串是彼此的排列?

如何使堆叠的卡片动画以彼此落后

如何使用 CSS 并排浮动 3 个 div?

狂刷1个月Java面试题

如何让用户在没有链接的情况下向他们的朋友发送私信?