请教,关于python字典,合并相同值的键的实现方法
问题描述
a = [1,2,3,4,5,6]b = [7,7,9,8,8,8]# 字典 dic_A 合并列表a,b。 dic_A = dict(zip(a,b))dic_A {1: 7, 2: 7, 3: 9, 4: 8, 5: 8, 6: 8}
我想 在字典dic_A中 将值相等的键合并,想要的到结果如下
dic_A = {12: 7, 3: 9, 456: 8}
请教一下,应该如何实现呢? 谢谢。
问题解答
回答1:这样看可以吗?
题主也没有说清楚是从哪一步开始转换,如果从一开始列表时就往这个目的操作,那这个问题实则不难。
from itertools import groupbyfrom functools import reducedic_a = {1: 7, 2: 7, 3: 9, 4: 8, 5: 8, 6: 8}dica = dict([reduce(lambda v, e: (int(str(v[0])+str(e[0])), k), g) for k, g in groupby(dic_a.items(), lambda v: v[1])])>>> dica>>> {3: 9, 12: 7, 456: 8}回答3:
python3
setdefault
>>> a = [1,2,3,4,5,6]>>> b = [7,7,9,8,8,8]>>> d={}>>> for k,v in zip(b,a): d.setdefault(k,[]).append(v) >>> d{8: [4, 5, 6], 9: [3], 7: [1, 2]}>>>
相关文章:
1. javascript - 请教大侠,webpack打包图片的时候,页面上显示不出来,还有网站根目录的疑问?2. mysql主从 - 请教下mysql 主动-被动模式的双主配置 和 主从配置在应用上有什么区别?3. html5 - 刚接触移动端开发,请教下移动端使用vh,vw单位做布局,点击输入框后键盘弹出会挤压内容怎么处理?4. 前端 - 请教一下CSS3中translateZ和rotateY书写顺序的问题5. javascript - Node与Express开发中的用MongoDb存储会话数据问题,按照书敲的,出现了如下问题,搜索已久找不到答案,特意想大家请教6. ubuntu系统php+apache web服务器异步方法不执行回调请教7. python没入门,请教一个问题8. php - 请教,mysql事务,锁和交易问题?9. 请教一个 CentOS 7.6 64执行php脚本问题10. 请教各位大佬,浏览器点 提交实例为什么没有反应

网公网安备