簡體   English   中英

處理兩個2D列表-python 2.7

[英]manipulating two 2D lists - python 2.7

如果我有這兩個清單...

a = [[1,y,y],[2,x,x],[3,x,x],[4,y,y]
b = [[1,x,x],[4,x,x]

我想將它們組合起來,從而形成一個新列表(c),如果(a)的第一個值等於(b)的第一個值,則包含(a)的每一行

c = [[1,y,y],[4,y,y]]

這是我到目前為止嘗試過的...

for i in xrange(0,1):
    for j in xrange(0,3):
        if b[i][0] == a[j][0]:
           c[i:] = a[[j:]

由於(a)中的數據類型,覆蓋c數組中的值不是問題。 我只是真的堅持了這一點,無論是對我的幫助還是對我的幫助,我都將不勝感激!

嘗試這個:

c.append(a[j])

在您的IF語句中。

另外,您可以考慮使用集合和列表推導。

a = [[1,'y','y'],[2,'x','x'],[3,'x','x'],[4,'y','y']]
b = [[1,'x','x'],[4,'x','x']]

b0s = set(l[0] for l in b)

c = [l for l in a if l[0] in b0s]

print(c)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM