两个嵌套列表的一个元素的交集?

时间:2018-11-19 03:52:03

标签: python-3.x intersection

实际上,我已经搜索了有关两个嵌套列表的交集的其他问题,但是我无法解决我的问题,这有点不同。 例如,我有两个列表

c1=[2,4,5] 
c2=[[2,23,43],[7,54,12],[4,97,52],[9,21,25],[5,34,23]]

我想获取c2的第一个元素与c1相同的组件,这意味着我需要获取:

c3=[[2,23,43],[4,97,52],[5,34,23]]

你们对此有任何想法吗??

1 个答案:

答案 0 :(得分:1)

您可以使用此列表推导,如果c2的每个元素与c1有交集,则返回该元素:

>>> [i for i in c2 if set(c1).intersection(i)]

[[2, 23, 43], [4, 97, 52], [5, 34, 23]]