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']}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端