"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar elementos que se cruzam em várias listas Python com eficiência?

Como encontrar elementos que se cruzam em várias listas Python com eficiência?

Publicado em 2024-11-08
Navegar:964

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

Identificando elementos compartilhados em várias listas Python

Em Python, extrair a interseção de duas listas pode ser obtido usando a função set.intersection(). No entanto, determinar a intersecção de múltiplas listas torna-se mais complexo. Aqui está uma solução para identificar com eficiência os elementos compartilhados entre várias listas:

A fórmula fornecida na resposta, set.intersection(*map(set,d)), oferece uma maneira concisa e eficiente de encontrar a interseção entre múltiplas listas. Vamos detalhar seus componentes:

  • d representa a lista de listas, onde cada elemento é ele próprio uma lista.
  • map(set, d) converte cada lista interna dentro de d em um set, removendo efetivamente elementos duplicados.
  • * descompacta a tupla gerada por map para passar cada conjunto como um parâmetro separado para set.intersection().

Ao encadear essas operações, obtemos a intersecção de todos os conjuntos (inicialmente as listas) contidos na lista d. No exemplo dado:

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

O código set.intersection(*map(set,d)) produziria o resultado desejado:

[3, 4]

Esta abordagem aproveita a eficiência do defina a estrutura de dados para eliminar rapidamente duplicatas, preservando a ordem dos elementos compartilhados.

Declaração de lançamento Este artigo foi reimpresso em: 1729519394 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3