我有兩個字典如下。如何將兩個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