python合并两个列表中的字典得方法
admin
2023-02-14 15:40:03
0

前几天有个小伙伴有这么一个需求:

l1 = [{x: x} for x in range(10)]

l2 = [{x: x} for x in range(10, 20)]

想要实现如下的结果:

[{0: 0, 10: 10}, {1: 1, 11: 11}, {2: 2, 12: 12}, {3: 3, 13: 13}, {4: 4, 14: 14}, {5: 5, 15: 15}, {6: 6, 16: 16}, {7: 7, 17: 17}, {8: 8, 18: 18}, {9: 9, 19: 19}]

也是说l1和l2 中的字典依次合并成一个的新的字典,要实现这个的方法很多,这里用 {x, y} 的方式来实现下,我们先来看下{x, y}的用法:

假设有两个dict d1和d2,合并成一个新的dict,不改变 d1和d2的值,例如

d1 = {"a":1, "b":2}
d2 = {"c":3, "d":4}

希望得到一个新的结果d3,如果key相同,则用d2的value 覆盖d1的value:

d3= {'a': 1, 'b': 3, 'c': 4}

python3.5+中已经实现一个语法糖,我们来一起看下:

d3 = {**d1, **d2}

好了,我们既然知道了有这么一个语法,现在我们实现下合并列表l1 和列表l2的里面的字典,以下代码仅为抛砖引玉,代码如下:

l1 = [{x: x} for x in range(10)]

l2 = [{x: x} for x in range(10, 20)]

l3 = []

for x, y in zip(l1,l2):    

    l3.extend([{**x, **y}])

print(l3)

这里使用{x, y} 合并字典的语法糖,并且借用了列表的extend 来实现我们的需求

相关内容

热门资讯

“从造王者沦为票房毒药,5月多... 【文/观察者网 熊超然】美国总统特朗普在共和党内长期扮演“造王者”的角色,但随着年底的中期选举日益临...
风声丨为完成指标,引诱少年吸毒... 作者丨陈碧中国政法大学教授近日,媒体报道了一起“诱人犯罪”案。南京一派出所副所长马某犯欺骗他人吸毒罪...
女游客体验景区悬崖秋千项目高空... 极目新闻记者 谢茂5月5日,多位网友发视频称,一处景区悬崖秋千项目发生事故,致一名女游客受伤。网友发...
凤凰女记者战地日记丨广场之内和... 【编者按】这是凤凰卫视驻伊朗记者李睿的战地日记。她身处德黑兰,既是战争的亲历者,也是观察者。在她的日...
伊朗两枚导弹击中美国军舰 伊朗法尔斯通讯社5月4日报道,两枚导弹击中了一艘美国海军舰艇。法尔斯通讯社称,这艘舰艇今日在贾斯克附...
罗晴秋:悦读,让张家界更硬核起... 4月21日晚,悟空研究院院长罗晴秋应邀主持2026悦读共创大会暨华人国学大典丙午春集闭门交流会。4月...
伊朗外长启程访华 据凤凰卫视报道,伊朗外交部5日宣布,伊朗外长阿拉格齐当天启程,到中国北京展开访问。伊朗外交部在其电报...
女子体验瀑布秋千坠亡,四川华蓥... 情况通报5月3日下午,华蓥市玛琉岩探险公园发生一起人员伤亡事故,游客刘某某(女)在体验瀑布秋千项目时...
凤凰直击浏阳烟花厂爆炸:3公里... 湖南长沙浏阳市华盛烟花制造燃放有限公司5月4日发生爆炸,截至目前已造成26人遇难、61人受伤。凤凰卫...
涵盖6大类花品及10种特色花 ... 4月27日,在文化和旅游部主办的2026年全国“五一”文化和旅游消费周与首届中国新文创市集媒体推介会...