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

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

如何壓縮兩個字典中的值

如何壓縮兩個字典中的值

元芳怎么了 2021-08-24 18:17:57
我有兩本字典:{('x0', '0'): 'x0', ('x0', '1'): 'x1', ('x1', '0'): 'x1', ('x1', '1'): 'x0'}和{('y0', '0'): 'y1', ('y0', '1'): 'y1', ('y1', '0'): 'y0', ('y1', '1'): 'y0'}我想以這種方式壓縮它們,以便結(jié)果是:{(('x0','y0'), 0) : ('x0','y1'), (('x0', 'y0'), 1) : ('x1, 'y1')... and so on}實現(xiàn)這一目標的最佳方法是什么?
查看完整描述

3 回答

?
精慕HU

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

在 Python3.7 字典中是有序的,因此,您可以迭代dict.items():


d1 = {('x0', '0'): 'x0', ('x0', '1'): 'x1', ('x1', '0'): 'x1', ('x1', '1'): 'x0'}

d2 = {('y0', '0'): 'y1', ('y0', '1'): 'y1', ('y1', '0'): 'y0', ('y1', '1'): 'y0'}

new_d = {((c, d), b):(a, e) for ([c, b], a), ([d, _], e) in zip(d1.items(), d2.items())}

輸出:


{(('x0', 'y0'), '0'): ('x0', 'y1'), (('x0', 'y0'), '1'): ('x1', 'y1'), (('x1', 'y1'), '0'): ('x1', 'y0'), (('x1', 'y1'), '1'): ('x0', 'y0')}

但是,此解決方案僅適用于 Python3.7。要在任何其他版本中使用,請考慮collections.OrderedDict將該結(jié)構(gòu)用作或?qū)崿F(xiàn)為元組列表,以確保始終進行正確的配對


查看完整回答
反對 回復 2021-08-24
?
當年話下

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

我不太確定你在說什么,但以下內(nèi)容與你所描述的類似:


a = {('x0', '0'): 'x0', ('x0', '1'): 'x1', ('x1', '0'): 'x1', ('x1', '1'): 'x0'}

b = {('y0', '0'): 'y1', ('y0', '1'): 'y1', ('y1', '0'): 'y0', ('y1', '1'): 'y0'}

{((x[0], y[0]), x[1]): (a[x], b[y]) for x, y in zip(a.keys(), b.keys())}

>> {(('x0', 'y0'), '0'): ('x0', 'y1'), (('x0', 'y0'), '1'): ('x1', 'y1'), (('x1', 'y1'), '0'): ('x1', 'y0'), (('x1', 'y1'), '1'): ('x0', 'y0')}



查看完整回答
反對 回復 2021-08-24
?
慕絲7291255

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

在 Python 3.7 之前,dict.items沒有排序,但這并不意味著您不能自己排序!


確認它是無序的(Python 3.5)


In [132]: list(zip(x.items(), y.items()))

Out[132]:

[((('x0', '0'), 'x0'), (('y0', '1'), 'y1')),

 ((('x1', '0'), 'x1'), (('y1', '0'), 'y0')),

 ((('x0', '1'), 'x1'), (('y0', '0'), 'y1')),

 ((('x1', '1'), 'x0'), (('y1', '1'), 'y0'))]

明確訂購


In [129]: list(zip(sorted(x.items()), sorted(y.items())))

Out[129]:

[((('x0', '0'), 'x0'), (('y0', '0'), 'y1')),

 ((('x0', '1'), 'x1'), (('y0', '1'), 'y1')),

 ((('x1', '0'), 'x1'), (('y1', '0'), 'y0')),

 ((('x1', '1'), 'x0'), (('y1', '1'), 'y0'))]

創(chuàng)建您的新 dict


In [131]: {((x0, y0), x1): (x, y) for ((x0, x1), x), ((y0, y1), y) in zip(sorted(x.items()), sorted(y.items()))}


Out[131]:

{(('x0', 'y0'), '0'): ('x0', 'y1'),

 (('x0', 'y0'), '1'): ('x1', 'y1'),

 (('x1', 'y1'), '0'): ('x1', 'y0'),

 (('x1', 'y1'), '1'): ('x0', 'y0')}


查看完整回答
反對 回復 2021-08-24
  • 3 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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