Python字典多键值处理:如何为重复键添加多个值
没问题,用你说的方案1就能轻松实现你要的效果!我给你写个具体的实现代码,再拆解下逻辑:
实现代码
list_1 = ['4', '6', '8', '8'] list_2 = ['a', 'b', 'c', 'd'] new_dict = {} # 遍历两个列表的配对元素 for key, value in zip(list_1, list_2): if key in new_dict: # 键已存在,将新值用逗号追加到现有值后 new_dict[key] = f"{new_dict[key]},{value}" else: # 键不存在,直接赋值 new_dict[key] = value print(new_dict)
运行这段代码后,输出就是你期望的结果:
{'4': 'a', '6': 'b', '8': 'c,d'}
逻辑解释
- 先初始化一个空字典
new_dict,用来存储最终结果 - 通过
zip(list_1, list_2)把两个列表的对应元素配对,逐个遍历每一组键值对 - 每次遍历都检查当前键是否已经在字典里:
- 如果存在,就用f-string把旧值和新值用逗号拼接起来,更新字典中该键的值
- 如果不存在,就直接把当前值赋给这个键
如果你之后有需要拆分这些逗号分隔的值的场景,其实可以先把值存成列表(比如new_dict[key].append(value)),等所有元素处理完再统一转换成逗号分隔的字符串,这样灵活性更高,但就你现在的需求来说,上面的代码完全够用啦。
内容的提问来源于stack exchange,提问作者PanDe
相关产品推荐
相关产品推荐

