3 回答

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
我已將您的變量A, B, C,轉(zhuǎn)換D為字符串以提供示例輸出。您可以使用單個(gè)列表理解,如下所示。
說(shuō)明:您使用i. 每個(gè)子列表都有兩個(gè)元組,您需要其中的最后一個(gè)元素。i[0][-1]給你的最后一個(gè)元素第一個(gè)元組,并i[0][-1]給你的最后一個(gè)元素的第二元組,
listA = [ [(1,2,'A'), (1,3,'B')], [(1,1,'B'),(1,2,'D')], [(1,1,'C'),(1,3,'F')], [(1,3,'D'),(1,5,'F')] ]
listB = [[i[0][-1], i[1][-1]] for i in listA]
產(chǎn)出
[['A', 'B'], ['B', 'D'], ['C', 'F'], ['D', 'F']]

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用以下嵌套理解:
[[y[2] for y in x] for x in listA]
# [['A', 'B'], ['B', 'D'], ['C', 'F'], ['D', 'F']]
內(nèi)部理解具有額外的靈活性,可以處理任何長(zhǎng)度的內(nèi)部列表。

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果numpy允許,您可以執(zhí)行以下操作:
import numpy as np
listA = [[(1, 2, 'A'), (1, 3, 'B')], [(1, 1, 'B'), (1, 2, 'D')], [(1, 1, 'C'), (1, 3, 'F')], [(1, 3, 'D'), (1, 5, 'F')]]
print(np.array(listA)[:, :, 2].tolist())
輸出
[['A', 'B'], ['B', 'D'], ['C', 'F'], ['D', 'F']]
作為替代方案,您還可以執(zhí)行以下操作:
print(np.array(listA)[..., 2].tolist())
添加回答
舉報(bào)