logo

Programma Python per trovare l'intersezione di due elenchi

In questo tutorial, discuteremo come ottenere l'intersezione dei due elenchi. L'intersezione di due elenchi significa che dobbiamo ottenere tutti gli elementi familiari in entrambi gli elenchi iniziali.

Pitone è noto per la sua eccellente struttura dati integrata. L'elenco Python è uno dei famosi e preziosi tipi di dati integrati di Python. Può memorizzare il valore dei vari tipi di dati in ordine ordinato. Tuttavia, non esiste una funzione integrata per elenchi come gli insiemi.

booleano in stringa java

Python fornisce molti modi per eseguire l'intersezione degli elenchi. Vediamo il seguente scenario.

Ingresso:

 list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] 

Produzione:

 [90, 11, 58, 31, 66, 28, 54] 

Ingresso:

 list1 = [4, 9, 1, 17, 11, 26, 28, 54, 69] list2 = [9, 9, 74, 21, 45, 11, 63, 28, 26] 

Produzione:

 [9, 11, 26, 28] 

Vediamo i seguenti metodi per ottenere l'intersezione di due elenchi.

Metodo - 1: utilizzo del ciclo for

 # Python program to get the intersection # of two lists in most simple way def intersection_list(list1, list2): list3 = [value for value in list1 if value in list2] return list3 # Driver Code list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

Produzione:

 [90, 11, 58, 31, 66, 28, 54] 

Abbiamo utilizzato il ciclo for per ottenere il valore comune da entrambe le liste e lo abbiamo memorizzato nella variabile list3.

Metodo - 2: Converti elenco in set

 def intersection_list(list1, list2): return list(set(list1) & set(list2)) list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

Produzione:

 [66, 90, 11, 54, 58, 28, 31] 

Metodo - 3:

Utilizzeremo i set integrati intersezione() metodo. IL intersezione() è una parte di prima classe del set. Comprendiamo il seguente esempio.

Esempio -

abc con numeri
 # Python program to get the intersection # of two lists using set() and intersection() def intersection_list(list1, list2): return set(list1).intersection(list2) list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

Produzione:

 {66, 90, 11, 54, 58, 28, 31} 

Metodo - 4:

In questo metodo, utilizzeremo il metodo ibrido. Questo è un modo molto efficiente per eseguire l'attività. Comprendiamo il seguente esempio.

Esempio -

 # Python program to get the intersection # of two lists def intersection(list1, list2): # Use of hybrid method temp = set(list2) list3 = [value for value in list1 if value in temp] return list3 list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection(list1, list2)) 

Produzione:

 [90, 11, 58, 31, 66, 28, 54] 

Metodo - 5:

In questo metodo utilizzeremo il file filtro() metodo. L'intersezione avviene su sottoliste interne ad altre liste. Comprendiamo il seguente esempio.

Esempio -

 # Python program togetthe intersection # of two lists, sublists and use of filter() def intersection_list(list1, list2): list3 = [list(filter(lambda x: x in list1, sublist)) for sublist in list2] return list3 list1 = [10, 9, 17, 40, 23, 18, 56, 49, 58, 60] list2 = [[25, 17, 23, 40, 32], [1, 10, 13, 27, 28], [60, 55, 61, 78, 15, 76]] print(intersection_list(list1, list2)) 

Produzione:

 [[17, 23, 40], [10], [60]] 

IL filtro() Il metodo prende ogni elemento della sottolista e controlla se è presente nella lista1. La comprensione della lista viene eseguita per ogni sottolista nella lista2.