Python:基于现有字典生成按用户ID分组的粉丝字典问题
正确实现方法
要生成按用户ID分组的粉丝列表字典,核心思路是先给所有用户初始化空粉丝列表,再根据每个用户的关注关系,把当前用户ID添加到对应被关注者的粉丝列表中。
步骤1:初始化粉丝字典
先为所有用户ID创建对应的空列表,确保像ID4这类没人关注的用户也能得到空列表:
seguidores = {user_id: [] for user_id in miembros}
步骤2:遍历关注关系填充粉丝列表
逐个遍历每个用户的信息,拿到他们关注的人ID,把当前用户ID加入这些被关注者的粉丝列表:
for user_id, datos in miembros.items(): # 遍历当前用户关注的所有ID for seguido_id in datos["siguiendo"]: # 将当前用户ID添加到被关注者的粉丝列表 seguidores[seguido_id].append(user_id)
完整可运行代码
(注:修正了原字典中第一个用户pais键的多余符号问题)
miembros = { 1: {"nombre": "Farly Waller", "pais": "Russia", "siguiendo": [2, 3]}, 2: {"nombre": "Jania Hardistry", "pais": "Indonesia", "siguiendo": [1, 3]}, 3: {"nombre": "Yale Shortan", "pais": "Brazil", "siguiendo": [1, 2]}, 4: {"nombre": "kevin", "pais": "portugal", "siguiendo": []} } seguidores = {user_id: [] for user_id in miembros} for user_id, datos in miembros.items(): for seguido_id in datos["siguiendo"]: seguidores[seguido_id].append(user_id) # 验证输出结果 print(seguidores) # 输出:{1: [2, 3], 2: [1, 3], 3: [1, 2], 4: []}
原代码问题说明
你之前的代码只是给每个用户ID赋值了0或已有值,完全没有处理用户间的关注关系逻辑,所以无法生成正确的粉丝列表。
内容的提问来源于stack exchange,提问作者Kevin diaz
相关产品推荐
相关产品推荐

