亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何在 python 中從兩個二維列表創建元組的二維列表?

如何在 python 中從兩個二維列表創建元組的二維列表?

守著星空守著你 2023-10-25 10:41:38
我有兩個二維列表,例如:a = [[1, 2], [3, 4]] b = [[5, 6], [7, 8]]那么我怎樣才能得到一個二維元組列表:[[(1,5),(2,6)],[(3,7),(4,8)]]?
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

我看到你已經回答了你自己的問題,如下:


[[(i1,j1) for i1, j1 in zip(i, j)] for i, j in zip(a, b)]

然而,存在一種簡化的形式,沿著類似的路線,但直接使用元組,而不是將它們解壓到多個變量中——第一個列表理解也可以通過調用以下的輸出來list替換zip:


[list(zip(*t)) for t in zip(a,b)]

或者:


vars = (a, b)

[list(zip(*t)) for t in zip(*vars)]

除了稍微簡單一點之外,這樣做的優點是更容易推廣到更多變量,例如,如果您有:


a = [[1, 2], [3, 4]]

b = [[5, 6], [7, 8]]

c = [[9, 10], [11, 12]]

然后你可以這樣做:


vars = (a, b, c)


[list(zip(*t)) for t in zip(*vars)]

為你帶來:


[[(1, 5, 9), (2, 6, 10)], [(3, 7, 11), (4, 8, 12)]]


查看完整回答
反對 回復 2023-10-25
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

我使用了這段代碼:

data = [[(i1,j1) for i1, j1 in zip(i, j)] for i, j in zip(a, b)]


查看完整回答
反對 回復 2023-10-25
  • 2 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號