Python:将两个dicts加在一起

Python:将两个dicts加在一起,第1张

概述Alrigt,假设我有这两个词典: A = {(3,'x'):-2, (6,'y'):3, (8, 'b'):9}B = {(3,'y'):4, (6,'y'):6} 我想把它们加在一起,这样我得到一个类似于这个的字典: C = {(3,'x'):-2,(3,'y'):4, (6,'y'):9, (8, 'b'):9} 我试过做一个理解,为任何长度的dicts做这个.但对新手来说似乎有点困难.我 Alrigt,假设我有这两个词典:

A = {(3,'x'):-2,(6,'y'):3,(8,'b'):9}B = {(3,'y'):4,'y'):6}

我想把它们加在一起,这样我得到一个类似于这个的字典:

C = {(3,(3,'y'):9,'b'):9}

我试过做一个理解,为任何长度的dicts做这个.但对新手来说似乎有点困难.我处在这样的水平,我尝试这样的东西,例如:

编辑:

>>> {k:A[k]+B[d] for k in A for d in B}{(6,'y'): 7,'x'): 2,'b'): 13}

我得到了这么多,因为它的帮助,但它没有
(3,’y’):4由于某种原因

解决方法 由于您使用的是Python 3,因此一种可能的方法是:

>>> A = {(3,'b'):9}>>> B = {(3,'y'):6}>>> {k: A.get(k,0) + B.get(k,0) for k in A.keys() | B.keys()}{(8,'b'): 9,'x'): -2,'y'): 9,'y'): 4}

在Python 3中,.keys()返回一个dict_keys对象,我们可以使用| *** 作符采取两者的结合. (这就是为什么A.keys()B.keys()不起作用的原因.)

(我可能会自己使用一个计数器,FWIW.)

总结

以上是内存溢出为你收集整理的Python:将两个dicts加在一起全部内容,希望文章能够帮你解决Python:将两个dicts加在一起所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存