пересечение одного элемента из двух вложенных списков? - PullRequest
0 голосов
/ 19 ноября 2018

На самом деле я искал другие вопросы о пересечении двух вложенных списков, но я не мог решить мою проблему, это немного по-другому. Например у меня есть два списка

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 голосов
/ 19 ноября 2018

Вы можете использовать это понимание списка, которое возвращает каждый элемент c2, если он имеет пересечение с c1:

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

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