Intersección en la lista en Python

Intersección en la lista en Python
Existen muchas variables de objetos en Python para almacenar una variedad de tipos de datos. El lista es una de estas variables y puede almacenar diferentes tipos de datos para diferentes necesidades. A veces, necesitamos encontrar elementos de datos comunes, poco comunes o comunes y poco comunes de las listas múltiples para fines de programación. Python contiene varias funciones y operadores incorporados que pueden realizar este tipo de tareas para los conjuntos de Python. Encontrar datos comunes de las listas múltiples se llama intersección de la lista, pero no hay operador o función incorporada para listas como conjuntos para encontrar los elementos de datos comunes de múltiples listas. Este tutorial le mostrará cómo intersectar listas en Python.

Intersección

Antes de comenzar este tutorial, se explicará el concepto de intersección. A continuación, dos se dan como ejemplo:

List1 = [4, 7, 23, 9, 6, 11]
List2 = [6, 5, 1, 20, 9, 7, 4, 3]

Después de aplicar la intersección, si el resultado se almacena en otra lista, tal vez nombrado list3, entonces contendrá los siguientes datos.

List3 = [4, 6, 7, 9]

La representación gráfica de List3 se muestra a continuación:

Ejemplo 1: Intersectar listas a través del método set ()

El siguiente ejemplo muestra cómo puede intersectar dos listas utilizando el colocar() método y el Y operador. Dos listas, nombradas List1 y List2, se declaran aquí. Ambas listas contienen valores numéricos. La tercera lista se genera al convertir la lista1 y la lista 2 en el conjunto a través del conjunto() método y aplicación de intersección utilizando el Y operador. A continuación, se imprimen los valores de las tres listas.

#!/usr/bin/env python3
# Definir lista1
list1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definir list2
list2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Crear lista3 mediante la intersección de List1 y List2
list3 = list (set (list1) y set (list2))
# Lista de impresión1
Imprimir ("Los valores de List1: \ n", List1)
# Lista de impresión2
Imprimir ("Los valores de List2: \ n", List2)
# Lista de impresión3
Imprimir ("Los valores de List3 después de la intersección List1 y List2: \ n", List3)

Producción

La siguiente salida aparecerá después de ejecutar el script. Tres valores son comunes a ambas listas. Estos valores son 8, 9 y 20, y se muestran en el contenido de la tercera lista.

Ejemplo 2: Intersectar listas a través del método de intersección ()

No existe un método directo y incorporado para el objeto de lista para averiguar los valores de intersección entre dos listas. Sin embargo, el conjunto tiene un método incorporado, nombrado intersección(), Para averiguar los valores comunes entre los conjuntos. Una función personalizada, nombrada IntersectionLists (), se define en el siguiente script para averiguar los valores comunes entre las dos listas. Una limitación de este conjunto es que puede contener solo datos numéricos. Una variable de lista puede contener varios tipos de cadenas de datos, incluidos numéricos, booleanos, etc. En el guión, Lista1 y Lista2 contener todos los datos de cadena que incluyen y texto. El script imprimirá todas las cadenas comunes y valores numéricos entre Lista1 y Lista2.

#!/usr/bin/env python3
# Defina la función para devolver la intersección de dos listas
Def IntersectLists (list1, list2):
RETURN SET (LIST1).intersección (list2)
# Definir lista1
list1 = ['Hola', '7', '8', '10', '2']
# Definir list2
list2 = ['8', '34', 'Hola', '2', '21', '1', 10]
"Llame a la función personalizada para almacenar
El resultado de la intersección de List1 y List2
en list3 "
list3 = intersectLists (list1, list2)
# Lista de impresión1
Imprimir ("Los valores de List1: \ n", List1)
# Lista de impresión2
Imprimir ("Los valores de List2: \ n", List2)
# Lista de impresión3
Imprimir ("Los valores de List3 después de la intersección List1 y List2: \ n", List3)

Producción

La siguiente salida aparecerá después de ejecutar el script. Aquí, los valores comunes entre las dos listas son '2', '8' y 'Hola.'

Ejemplo 3: Listas de intersección a través del método de bucle

Los dos ejemplos anteriores muestran la intersección de la lista utilizando funciones incorporadas. El siguiente ejemplo muestra la intersección de la lista sin ninguna función incorporada. Esto se puede lograr usando el bucle. En el script se declaran dos listas de datos de texto. El para El bucle se usa aquí para averiguar los valores de texto comunes entre Lista1 y Lista2, y que se almacenan en la variable, Lista3. A continuación, se imprimen los valores de estas tres variables de lista.

#!/usr/bin/env python3
# Definir lista1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Definir list2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Encuentre la intersección usando para bucle y almacene el resultado en list3
list3 = [valor para el valor en list1 if valor en list2]
# Lista de impresión1
Imprimir ("Los valores de List1: \ n", List1)
# Lista de impresión2
Imprimir ("Los valores de List2: \ n", List2)
# Lista de impresión3
Imprimir ("Los valores de List3 después de la intersección List1 y List2: \ n", List3)

Producción

La siguiente salida aparecerá después de ejecutar el script. Aquí, los valores de texto comunes de las dos listas son 'Abir' y 'Meena.'

Ejemplo 4: Intersectar listas simples y anidadas a través del método Filter ()

El siguiente ejemplo muestra la intersección entre una lista simple y una lista anidada. El filtrar() método y lambda La función se usa en el script para realizar la intersección entre List1 y List2. Cuando una lista contiene una o más listas como elementos de la lista, la lista se llama lista anidada. Aquí, Lista1 es una lista simple y Lista2 es una lista anidada, mientras Lista3 contiene los valores de intersección de Lista1 y Lista2.

#!/usr/bin/env python3
# Defina una lista simple
list1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Defina una lista anidada
list2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Crear list3 mediante la intersección de List1 y List2 usando filtro ()
list3 = [list (filtro (lambda n: n en list1, slist)) para slist en list2]
# Lista de impresión1
Imprimir ("Los valores de List1: \ n", List1)
# Lista de impresión2
Imprimir ("Los valores de List2: \ n", List2)
# Lista de impresión3
Imprimir ("Los valores de List3 después de la intersección List1 y List2: \ n", List3)

Producción

La siguiente salida aparecerá después de ejecutar el script. La variable list2 contiene otras tres listas como elementos de lista. Entonces, el resultado muestra la intersección entre estas tres subsists de List2 con List1.

Conclusión

La intersección de la lista es una forma útil de encontrar los valores comunes entre listas que contienen una gran cantidad de elementos de la lista. Los métodos para realizar la intersección de la lista con y sin funciones incorporadas se muestran en este tutorial. Después de leer este artículo, el concepto de intersección de la lista debe ser claro, y debe poder aplicar la intersección de la lista en su script siguiendo cualquier manera que se muestre en este tutorial.