![](/img/trans.png)
[英]how to return the intersection of all possible combinations of n different lists
[英]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.