Pitón

Lista de intersección en Python

Lista de intersección en Python
Existen muchas variables de objeto en Python para almacenar una variedad de tipos de datos. La 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 tanto comunes como poco comunes de las múltiples listas para fines de programación. Python contiene varias funciones y operadores integrados que pueden realizar este tipo de tareas para conjuntos de Python. La búsqueda de datos comunes de las listas múltiples se llama intersección de lista, pero no hay un 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 intersecar listas en Python.

Intersección

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

Lista1 = [4, 7, 23, 9, 6, 11]
Lista2 = [6, 5, 1, 20, 9, 7, 4, 3]

Después de aplicar la intersección, si el resultado se almacena en otra lista, quizás llamada List3, entonces contendrá los siguientes datos.

Lista3 = [4, 6, 7, 9]

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

Ejemplo 1: Listas de intersección mediante el método set ()

El siguiente ejemplo muestra cómo se pueden cruzar dos listas usando el colocar() método y el Y operador. Aquí se declaran dos listas, denominadas list1 y list2. Ambas listas contienen valores numéricos. La tercera lista se genera convirtiendo list1 y list 2 en el conjunto a través del conjunto() y aplicando la intersección usando el Y operador. A continuación, se imprimen los valores de las tres listas.

#!/ usr / bin / env python3
# Definir list1
lista1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definir list2
lista2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Crea list3 cruzando list1 y list2
list3 = lista (establecer (lista1) y establecer (lista2))
# Imprimir lista1
print ("Los valores de list1: \ n", list1)
# Imprimir lista2
print ("Los valores de list2: \ n", list2)
# Imprimir list3
print ("Los valores de list3 después de la intersección de 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: Listas de intersección mediante el método intersection ()

No existe un método directo integrado para que el objeto de lista averigüe los valores de intersección entre dos listas. Sin embargo, el conjunto tiene un método incorporado, llamado intersección(), para averiguar los valores comunes entre los conjuntos. Una función personalizada, llamada intersectionLists (), se define en el siguiente script para averiguar los valores comunes entre las dos listas. Una limitación de este conjunto es que solo puede contener datos numéricos. Una variable de lista puede contener varios tipos de cadenas de datos, incluidos numéricos, booleanos, etc. En el guion, list1 y list2 contener todos los datos de la cadena, incluido el texto. El script imprimirá todos los valores numéricos y de cadena comunes entre list1 y list2.

#!/ usr / bin / env python3
 
# Definir la función para devolver la intersección de dos listas
def intersectLists (lista1, lista2):
conjunto de retorno (lista1).intersección (lista2)
 
# Definir list1
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 (lista1, lista2)
# Imprimir lista1
print ("Los valores de list1: \ n", list1)
# Imprimir lista2
print ("Los valores de list2: \ n", list2)
# Imprimir list3
print ("Los valores de list3 después de la intersección de 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 mediante el método de bucle

Los dos ejemplos anteriores muestran la intersección de listas utilizando funciones integradas. El siguiente ejemplo muestra la intersección de la lista sin ninguna función incorporada. Esto se puede lograr utilizando el bucle. Se declaran dos listas de datos de texto en el script. La por El bucle se utiliza aquí para averiguar los valores de texto comunes entre list1 y list2, y que se almacenan en la variable, list3. A continuación, se imprimen los valores de estas tres variables de lista.

#!/ usr / bin / env python3
 
# Definir list1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Definir list2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Encuentre la intersección usando el bucle for y almacene el resultado en list3
lista3 = [valor para el valor en la lista1 si el valor en la lista2]
 
# Imprimir lista1
print ("Los valores de list1: \ n", list1)
# Imprimir lista2
print ("Los valores de list2: \ n", list2)
# Imprimir list3
print ("Los valores de list3 después de la intersección de 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: intersección de listas simples y anidadas mediante el método filter ()

El siguiente ejemplo muestra la intersección entre una lista simple y una lista anidada. La filtrar() método y lambda las funciones se utilizan en el script para realizar la intersección entre list1 y list2. Cuando una lista contiene una o más listas como elementos de lista, la lista se denomina lista anidada. Aquí, list1 es una lista simple, y list2 es una lista anidada, mientras que list3 contiene los valores de intersección de list1 y list2.

#!/ usr / bin / env python3
 
# Define una lista simple
lista1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definir una lista anidada
lista2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Crea list3 cruzando list1 y list2 usando filter ()
list3 = [list (filter (lambda n: n en list1, slist)) para slist en list2]
 
# Imprimir lista1
print ("Los valores de list1: \ n", list1)
# Imprimir lista2
print ("Los valores de list2: \ n", list2)
# Imprimir list3
print ("Los valores de list3 después de la intersección de 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 sublistas de list2 con list1.

Conclusión

La intersección de listas es una forma útil de encontrar los valores comunes entre listas que contienen una gran cantidad de elementos de lista. En este tutorial se muestran los métodos para realizar la intersección de listas con y sin funciones integradas. Después de leer este artículo, el concepto de la intersección de la lista debe quedar claro, y debería poder aplicar la intersección de la lista en su secuencia de comandos siguiendo la forma que se muestra en este tutorial.

Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...
Los mejores emuladores de consola de juegos para Linux
Este artículo enumerará el software de emulación de consola de juegos más popular disponible para Linux. La emulación es una capa de compatibilidad de...