第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用相同的鍵合并多個dicts?

如何使用相同的鍵合并多個dicts?

溫溫醬 2019-08-08 16:14:41
如何使用相同的鍵合并多個dicts?我有多個dicts /鍵值對,如下所示:d1 = {key1: x1, key2: y1}  d2 = {key1: x2, key2: y2}我希望結果是一個新的dict(如果可能的話,以最有效的方式):d = {key1: (x1, x2), key2: (y1, y2)}實際上,我希望結果d是:d = {key1: (x1.x1attrib, x2.x2attrib), key2: (y1.y1attrib, y2.y2attrib)}如果有人告訴我如何獲得第一個結果,我可以弄清楚其余部分。
查看完整描述

3 回答

?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

假設所有密鑰始終存在于所有dicts中:

ds = [d1, d2]d = {}for k in d1.iterkeys():
    d[k] = tuple(d[k] for d in ds)

注意:在Python 3.x中使用以下代碼:

ds = [d1, d2]d = {}for k in d1.keys():
  d[k] = tuple(d[k] for d in ds)

如果dic包含numpy數(shù)組:

ds = [d1, d2]d = {}for k in d1.keys():
  d[k] = np.concatenate(list(d[k] for d in ds))


查看完整回答
反對 回復 2019-08-08
?
絕地無雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

這是一個通用的解決方案,可以處理任意數(shù)量的字典,例如當鍵只在某些字典中時:

from collections import defaultdict

d1 = {1: 2, 3: 4}d2 = {1: 6, 3: 7}dd = defaultdict(list)for d in (d1, d2): # you can list as many input dicts as you want here
    for key, value in d.iteritems():
        dd[key].append(value)print(dd)

顯示:

defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})

另外,要獲得你的.attrib,只需append(value)改為append(value.attrib)


查看完整回答
反對 回復 2019-08-08
?
ABOUTYOU

TA貢獻1812條經(jīng)驗 獲得超5個贊

如果你只有d1和d2,

from collections import defaultdict

d = defaultdict(list)for a, b in d1.items() + d2.items():
    d[a].append(b)


查看完整回答
反對 回復 2019-08-08
  • 3 回答
  • 0 關注
  • 455 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號