python 实现QQ可能想认识的人

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']}
    
posted @   巫小诗  阅读(180)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示