[英]Combining keys and values of two different dicts
我是python的新手,正在嘗試合並兩個字典
d1 = {
'A': '1',
'B': '2',
'C': '3',
'D': '4',
'E': '5'
}
d2 = {
'X': '!',
'Y': '@'
}
我正在嘗試合並兩個字典的鍵,以便結果看起來像這樣:
d3 = {
'A_X': '1!',
'B_X': '2!',
'C_X': '3!',
'D_X': '4!',
'E_X': '5!',
'A_Y': '1@',
'B_Y': '2@',
'C_Y': '3@',
'D_Y': '4@',
'E_Y': '5@',
}
您應該只遍歷字典並將其組合
d3 = {}
for k1,v1 in d1.iteritems():
for k2,v2 in d2.iteritems():
d3[k1+'_'+k2] = v1+v2
另一種更神秘但又Python的方式:
d3 = {k1+'_'+k2:v1+v2 for k1,v1 in d1.iteritems() for k2,v2 in d2.iteritems() }
from itertools import product
d1 = { 'A': '1', 'B': '2', 'C': '3', 'D': '4', 'E': '5' }
d2 = { 'X': '!', 'Y': '@'}
d3 = {'_'.join([k1, k2]):''.join([d1[k1], d2[k2]]) for k1, k2 in product(d1.keys(), d2.keys())}
print(d3)
# {'E_X': '5!', 'C_X': '3!', 'D_Y': '4@', 'B_Y': '2@', 'A_X': '1!', 'D_X': '4!', 'A_Y': '1@', 'C_Y': '3@', 'B_X': '2!', 'E_Y': '5@'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.