需求
好友列表分布
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‘]}
原文:https://www.cnblogs.com/wuxiaoshi/p/14874491.html