Interseção
Antes de iniciar este tutorial, o conceito de interseção será explicado. Abaixo, dois são dados como exemplo:
Lista1= [4, 7, 2,3, 9, 6, onze]
Lista2= [6, 5, 1, vinte, 9, 7, 4, 3]
Depois de aplicar a interseção, se o resultado for armazenado em outra lista, talvez chamada de Lista3, ela conterá os seguintes dados.
List3= [4, 6, 7, 9]
A representação gráfica de List3 é mostrada abaixo:
Exemplo 1: Listas de intersecção por meio do método set ()
O exemplo a seguir mostra como você pode cruzar duas listas usando o definir() método e o E operador. Duas listas, chamadas list1 e list2, são declaradas aqui. Ambas as listas contêm valores numéricos. A terceira lista é gerada convertendo a lista 1 e a lista 2 no conjunto por meio do conjunto () método e aplicação de interseção usando o E operador. A seguir, os valores das três listas são impressos.
#! / usr / bin / env python3# Define list1
lista1= [22, 8, Quatro cinco, onze, 3. 4, 9, vinte, 7]
# Define list2
lista2= [12, 9, vinte, 78, 53, 8, 2, 30,31]
# Crie lista3 cruzando lista1 e lista2
lista3= Lista(definir(lista1)Edefinir(lista2))
# Print list1
imprimir('Os valores da lista1: n',lista1)
# Imprimir lista2
imprimir('Os valores da lista2: n',lista2)
# Imprimir lista3
imprimir('Os valores de lista3 após a intersecção de lista1 e lista2: n',lista3)
Saída
A seguinte saída aparecerá após a execução do script. Três valores são comuns a ambas as listas. Esses valores são 8, 9 e 20 e são mostrados no conteúdo da terceira lista.
Exemplo 2: Listas de intersecção por meio do método intersection ()
Não existe um método direto integrado para o objeto de lista descobrir os valores de interseção entre duas listas. No entanto, o conjunto possui um método embutido, denominado interseção() , para descobrir os valores comuns entre os conjuntos. Uma função personalizada, chamada intersectionLists () , é definido no script a seguir para descobrir os valores comuns entre as duas listas. Uma limitação desse 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érica, booleana, etc. No script, lista1 e lista2 contém todos os dados da string, incluindo e texto. O script imprimirá todas as strings e valores numéricos comuns entre lista1 e lista2 .
#! / usr / bin / env python3# Defina a função para retornar a interseção de duas listas
defintersectLists(lista1,lista2):
Retorna definir(lista1).interseção(lista2)
# Define list1
lista1= ['Olá','7','8','10','2']
# Define list2
lista2= ['8','3. 4','Olá','2','vinte e um','1',10]
'' 'Chame a função personalizada para armazenar
o resultado da interseção de lista1 e lista2
na lista3 '' '
lista3=intersectLists(lista1,lista2)
# Print list1
imprimir('Os valores da lista1: n',lista1)
# Imprimir lista2
imprimir('Os valores da lista2: n',lista2)
# Imprimir lista3
imprimir('Os valores de lista3 após a intersecção de lista1 e lista2: n',lista3)
Saída
A seguinte saída 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 intersecção por meio do método de loop
Os dois exemplos anteriores mostram a interseção da lista usando funções integradas. O exemplo a seguir mostra a interseção da lista sem nenhuma função interna. Isso pode ser feito usando o loop. Duas listas de dados de texto são declaradas no script. o para loop é usado aqui para descobrir os valores de texto comuns entre lista1 e lista2, e que são armazenados na variável, lista3 . A seguir, os valores dessas três variáveis de lista são impressos.
#! / usr / bin / env python3# Define list1
lista1= ['Farhan','Abir','Akash','Meena','Mazher']
# Define list2
lista2= ['Meena','Moyna','Nobel','Mais próximo','Abir','Farheen']
# Encontre a interseção usando o loop for e armazene o resultado em list3
lista3= [valorparavalornolista1E sevalornolista2]
# Print list1
imprimir('Os valores da lista1: n',lista1)
# Imprimir lista2
imprimir('Os valores da lista2: n',lista2)
# Imprimir lista3
imprimir('Os valores de lista3 após a intersecção de lista1 e lista2: n',lista3)
Saída
A seguinte saída aparecerá após a execução do script. Aqui, os valores de texto comuns das duas listas são ‘Abir’ e _Meena. _
Exemplo 4: interseção de listas simples e aninhadas por meio do método filter ()
O exemplo a seguir mostra a interseção entre uma lista simples e uma lista aninhada. o filtro() método e lambda função são usados no script para conduzir a interseção entre lista1 e 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 lista2 é uma lista aninhada, enquanto lista3 contém os valores de interseção de lista1 e lista2 .
#! / usr / bin / env python3# Defina uma lista simples
lista1= [22, 8, Quatro cinco, onze, 3. 4, 9, vinte, 7]
# Defina uma lista aninhada
lista2= [[12, 9, vinte], [78, onze, 53, 8], [2, 30, 31, Quatro cinco]]
# Crie a lista3 cruzando a lista1 e a lista2 usando o filtro ()
lista3= [Lista(filtro(lambdan: nnolista1,slist)) paraslistnolista2]
# Print list1
imprimir('Os valores da lista1: n',lista1)
# Imprimir lista2
imprimir('Os valores da lista2: n',lista2)
# Imprimir lista3
imprimir('Os valores de lista3 após a intersecção de lista1 e lista2: n',lista3)
Saída
A seguinte saída 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 sublistas da lista2 com a lista1.
Conclusão
A interseção de listas é uma maneira útil de localizar os valores comuns entre listas que contêm um grande número de itens de lista. Métodos para realizar a interseção de lista com e sem funções integradas são mostrados neste tutorial. Depois de ler este artigo, o conceito de interseção de lista deve ficar claro e você deve ser capaz de aplicar a interseção de lista em seu script seguindo qualquer maneira mostrada neste tutorial.