"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo encontrar elementos que se cruzan en varias listas de Python de manera eficiente?

¿Cómo encontrar elementos que se cruzan en varias listas de Python de manera eficiente?

Publicado el 2024-11-08
Navegar:540

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

Identificación de elementos compartidos dentro de múltiples listas de Python

En Python, se puede extraer la intersección de dos listas utilizando la función set.intersection(). Sin embargo, determinar la intersección de varias listas se vuelve más complejo. Aquí hay una solución para identificar eficientemente los elementos compartidos entre varias listas:

La fórmula proporcionada en la respuesta, set.intersection(*map(set,d)), ofrece una forma concisa y eficaz de encontrar la intersección entre múltiples listas. Analicemos sus componentes:

  • d representa la lista de listas, donde cada elemento es en sí mismo una lista.
  • map(set, d) convierte cada lista interna dentro de d en una set, eliminando efectivamente elementos duplicados.
  • * descomprime la tupla generada por map para pasar cada conjunto como un parámetro separado a set.intersection().

Por al encadenar estas operaciones, obtenemos la intersección de todos los conjuntos (inicialmente las listas) contenidos dentro de la lista d. En el ejemplo dado:

d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]

El código set.intersection(*map(set,d)) produciría el resultado deseado:

[3, 4]

Este enfoque aprovecha la eficiencia del establecer estructura de datos para eliminar rápidamente duplicados preservando el orden de los elementos compartidos.

Declaración de liberación Este artículo se reimprime en: 1729519394 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3