首页 > 编程语言 > 详细

python 实现QQ可能想认识的人

时间:2021-06-11 14:30:47      阅读:22      评论:0      收藏:0      [点我收藏+]

python 实现 可能想认识的人

  • 需求

    技术分享图片

  • 好友列表分布

    data = {
        "A": ["B", "C", "D", "E", "F"],
        "B": ["A", "E", "D", "S"],
        "C": ["E", "R", "F", "G"],
        "D": ["T", "Y", "D", "B", "C", "F"]
    }
    
  • 代码示例

    # 你想认识的人
    def you_want_to_know(user):
        # 获取共同好友
        friends_dict = {}
        # 获取除A以外的其他数据
        for k, v in data.items():
            if k != user:
                # 判断A 和 k 是否是好友关系
                if user not in data.get(k):
                    # 如果不是好友,判断共同好友都有谁?如果共同好友为0,则不添加
                    friend_list = list(set(data.get(user)).intersection(set(data.get(k))))
                    if friend_list: friends_dict[k] = friend_list
        if not friends_dict: return {}
        # 对共同好友个数按降序排序
        friends_dict = sorted(friends_dict.items(), key=lambda item: len(item[1]), reverse=True)
        return dict(friends_dict)
    
    
    if __name__ == ‘__main__‘:
        friends = you_want_to_know("A")
        print(friends)
    
  • 实现结果

    {‘D‘: [‘F‘, ‘D‘, ‘B‘, ‘C‘], ‘C‘: [‘E‘, ‘F‘]}
    

python 实现QQ可能想认识的人

原文:https://www.cnblogs.com/wuxiaoshi/p/14874491.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!