簡體   English   中英

列表的交集返回列表列表中的所有內容

[英]intersection of lists return all within list of lists

List1 = [['A0.01', 'GENERIC NOTES'],['A0.02', 'ANOTHER GENERIC NOTE'],['A0.03', 'YET ANOTHER GENERIC NOTE']]
List2 = ['A0.01','A0.03']

我想找到兩個列表的交集,如果有匹配項,則返回所有項目的列表。 以下是我嘗試過的:

result = [[j for j in view if j in List2] for view in List1]

這將返回 List1 中的匹配值

[['A0.01'],[],['A0.03']]

但我也想要該匹配列表項中的值的 rest。 以下是我想要的結果:

['A0.01', 'GENERIC NOTES'],['A0.03', 'YET ANOTHER GENERIC NOTE']

我怎樣才能做到這一點。 我很感激任何幫助!

我敢肯定有很多方法可以做到這一點。

這是一個

>>> matches = set(item[0] for item in List1).intersection(List2)
>>> matches
{'A0.03', 'A0.01'}
>>> [item for item in List1 if item[0] in matches]
[['A0.01', 'GENERIC NOTES'], ['A0.03', 'YET ANOTHER GENERIC NOTE']]

暫無
暫無

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

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