我有两个字典如下。如何将两个python字典合并到这两个对列表中?例如
>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
一些操作后,我可以有这样的两个列表吗?先谢谢你。
x=['a','b','c']
y=[1,2,0]
z=[0,10,11]
这意味着x列表中的'c'不会出现在y列表中,因此y列表的相应位置中存在零。
我有两个字典如下。如何将两个python字典合并到这两个对列表中?例如
>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
一些操作后,我可以有这样的两个列表吗?先谢谢你。
x=['a','b','c']
y=[1,2,0]
z=[0,10,11]
这意味着x列表中的'c'不会出现在y列表中,因此y列表的相应位置中存在零。
通过将其密钥转换为集合并使用|
集合union operator创建一组字典的统一密钥。
然后使用字典的.get
方法(see here)以仅选择被包含在其中的键(或0
如果不包含):
>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
>>> s = sorted(set(x) | set(y))
>>> a = [x.get(k, 0) for k in s]
>>> b = [y.get(k, 0) for k in s]
>>> s
['a', 'b', 'c']
>>> a
[1, 2, 0]
>>> b
[0, 10, 11]
或者,如简单的代码:
您也可以使用.keys()
方法来获得统一的密钥列表(x.keys() == set(x)
)@wim注意到:
s = sorted(x.keys() | y.keys())
您到目前为止尝试过什么?你可以显示你的代码并解释你的实现中目前没有工作吗? – idjaw