Lista de interseção em Python

Lista de interseção em Python
Muitas variáveis ​​de objetos existem no Python para armazenar uma variedade de tipos de dados. O lista é uma dessas variáveis ​​e pode armazenar diferentes tipos de dados para diferentes necessidades. Às vezes, precisamos encontrar itens de dados comuns, incomuns ou comuns e incomuns das múltiplas listas para fins de programação. O Python contém várias funções e operadores internos que podem executar esses tipos de tarefas para conjuntos de python. Encontrar dados comuns das múltiplas listas é chamado de interseção da lista, mas não há operador ou função interna para listas como conjuntos para encontrar os itens de dados comuns de várias listas. Este tutorial mostrará como cruzar listas em Python.

Interseção

Antes de iniciar este tutorial, o conceito de interseção será explicado. Abaixo, dois são dados como exemplo:

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

Após a aplicação do cruzamento, se o resultado for armazenado em outra lista, talvez nomeada List3, ele conterá os seguintes dados.

List3 = [4, 6, 7, 9]

A representação gráfica da List3 é mostrada abaixo:

Exemplo 1: Listas de interseção através do método set ()

O exemplo a seguir mostra como você pode cruzar duas listas usando o definir() método e o & operador. Duas listas, nomeadas List1 e List2, são declaradas aqui. Ambas as listas contêm valores numéricos. A terceira lista é gerada pela conversão da lista 1 e da lista 2 no conjunto através do conjunto() método e aplicação de interseção usando o & operador. Em seguida, os valores das três listas são impressos.

#!/usr/bin/Env Python3
# Definir List1
List1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definir List2
LIST2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Criar Lista3 por Classecting List1 e List2
List3 = List (set (List1) & Set (List2))
# Print List1
print ("Os valores da Lista1: \ n", List1)
# Print List2
print ("Os valores da lista2: \ n", List2)
# Print List3
print ("Os valores da lista3 após a interseção da lista 1 e da lista2: \ n", list3)

Saída

A saída a seguir aparecerá após a execução do script. Três valores são comuns às duas listas. Esses valores são 8, 9 e 20, e são mostrados no conteúdo da terceira lista.

Exemplo 2: Listas de cruzamento através do método Intesection ()

Não existe um método direto e interno para o objeto de lista para descobrir os valores de interseção entre duas listas. No entanto, o conjunto tem um método interno, nomeado interseção(), Para descobrir os valores comuns entre os conjuntos. Uma função personalizada, nomeada IntersectionLists (), é definido no script a seguir para descobrir os valores comuns entre as duas listas. Uma limitação deste conjunto é que ele pode conter apenas dados numéricos. Uma variável de lista pode conter vários tipos de string de dados, incluindo numéricos, booleanos, etc. No script, Lista1 e LIST2 contém todos os dados da string, incluindo e texto. O script imprimirá todas as cordas comuns e valores numéricos entre Lista1 e LIST2.

#!/usr/bin/Env Python3
# Defina a função para retornar a interseção de duas listas
Def intersectlists (List1, List2):
Conjunto de retorno (List1).Interseção (Lista2)
# Definir List1
List1 = ['Hello', '7', '8', '10', '2']
# Definir List2
List2 = ['8', '34', 'Hello', '2', '21', '1', 10]
"Ligue para a função personalizada para armazenar
O resultado da interseção da List1 e List2
na lista3 "
List3 = IntersectLists (List1, List2)
# Print List1
print ("Os valores da Lista1: \ n", List1)
# Print List2
print ("Os valores da lista2: \ n", List2)
# Print List3
print ("Os valores da lista3 após a interseção da lista 1 e da lista2: \ n", list3)

Saída

A saída a seguir aparecerá após a execução do script. Aqui, os valores comuns entre as duas listas são '2', '8' e 'Hello.'

Exemplo 3: Listas de cruzamento através do método de loop

Os dois exemplos anteriores mostram a interseção da lista usando funções internas. O exemplo a seguir mostra a interseção da lista sem nenhuma função interna. Isso pode ser alcançado usando o loop. Duas listas de dados de texto são declaradas no script. O para O loop é usado aqui para descobrir os valores de texto comuns entre Lista1 e LIST2, e que são armazenados na variável, LIST3. Em seguida, os valores dessas três variáveis ​​de lista são impressos.

#!/usr/bin/Env Python3
# Definir List1
List1 = ['farhan', 'abir', 'akash', 'meena', 'mazher']
# Definir List2
LIST2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Encontre o cruzamento usando o loop e armazene o resultado no List3
LIST3 = [Valor para o valor na Lista1 Se o valor na lista2]
# Print List1
print ("Os valores da Lista1: \ n", List1)
# Print List2
print ("Os valores da lista2: \ n", List2)
# Print List3
print ("Os valores da lista3 após a interseção da lista 1 e da lista2: \ n", list3)

Saída

A saída a seguir aparecerá após a execução do script. Aqui, os valores de texto comuns das duas listas são 'Abir' e 'Meena.'

Exemplo 4: Classificando listas simples e aninhadas através do método filtro ()

O exemplo a seguir mostra a interseção entre uma lista simples e uma lista aninhada. O filtro() método e Lambda A função é usada no script para conduzir a interseção entre a lista1 e a lista2. Quando uma lista contém uma ou mais listas como itens de lista, a lista é chamada de lista aninhada. Aqui, Lista1 é uma lista simples, e LIST2 é uma lista aninhada, enquanto LIST3 contém os valores de interseção de Lista1 e LIST2.

#!/usr/bin/Env Python3
# Defina uma lista simples
List1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Defina uma lista aninhada
LIST2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Criar List3 por Classecting List1 e List2 usando o filtro ()
List3 = [List (filtro (lambda n: n na lista1, slist)) para slist na lista2]
# Print List1
print ("Os valores da Lista1: \ n", List1)
# Print List2
print ("Os valores da lista2: \ n", List2)
# Print List3
print ("Os valores da lista3 após a interseção da lista 1 e da lista2: \ n", list3)

Saída

A saída a seguir aparecerá após a execução do script. A variável List2 contém três outras listas como itens de lista. Portanto, o resultado mostra a interseção entre essas três sub-listas da Lista2 com a List1.

Conclusão

A interseção da lista é uma maneira útil de encontrar os valores comuns entre listas que contêm um grande número de itens de lista. Os métodos para realizar a interseção da lista com e sem funções internos são mostrados neste tutorial. Depois de ler este artigo, o conceito de interseção da lista deve ser claro e você poderá aplicar a interseção da lista em seu script seguindo qualquer maneira mostrada neste tutorial.