Pitão

Listar interseção em Python

Listar interseção em Python
Existem muitas variáveis ​​de objeto em 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 tanto comuns quanto incomuns de várias listas para fins de programação. Python contém várias funções e operadores integrados que podem realizar esses tipos de tarefas para conjuntos Python. Encontrar dados comuns de várias listas é chamado de interseção de lista, mas não há nenhum operador ou função embutida 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:

Lista 1 = [4, 7, 23, 9, 6, 11]
Lista 2 = [6, 5, 1, 20, 9, 7, 4, 3]

Depois de aplicar a interseção, se o resultado for armazenado em outra lista, talvez chamada de Lista3, então ela conterá os seguintes dados.

Lista 3 = [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, 45, 11, 34, 9, 20, 7]
# Define list2
lista2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Crie lista3 cruzando lista1 e lista2
lista3 = lista (conjunto (lista1) e conjunto (lista2))
# Print list1
print ("Os valores da lista1: \ n", lista1)
# Imprimir lista2
print ("Os valores de lista2: \ n", lista2)
# Imprimir lista3
print ("Os valores de lista3 após a intersecção de lista1 e lista2: \ n", lista3)

Resultado

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 há 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 seguinte script 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érica, booleana, etc. No roteiro, lista1 e lista2 contém todos os dados da string, incluindo e texto. O script imprimirá todas as strings comuns e valores numéricos entre lista1 e lista2.

#!/ usr / bin / env python3
 
# Defina a função para retornar a interseção de duas listas
def intersectLists (lista1, lista2):
conjunto de retorno (lista1).intersecção (lista2)
 
# Define list1
list1 = ['Olá', '7', '8', '10', '2']
# Define list2
list2 = ['8', '34', 'Olá', '2', '21', '1', 10]
"Chame a função personalizada para armazenar
o resultado da interseção de lista1 e lista2
na lista 3 "
lista3 = intersectLists (lista1, lista2)
# Print list1
print ("Os valores de lista1: \ n", lista1)
# Imprimir lista2
print ("Os valores de lista2: \ n", lista2)
# Imprimir lista3
print ("Os valores de lista3 após a intersecção de lista1 e lista2: \ n", lista3)

Resultado

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 incorporada. 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. Em seguida, os valores dessas três variáveis ​​de lista são impressos.

#!/ usr / bin / env python3
 
# Define list1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Define list2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Encontre a interseção usando o loop for e armazene o resultado em list3
lista3 = [valor para o valor na lista1 se o valor na lista2]
 
# Print list1
print ("Os valores de lista1: \ n", lista1)
# Imprimir lista2
print ("Os valores de lista2: \ n", lista2)
# Imprimir lista3
print ("Os valores de lista3 após a intersecção de lista1 e lista2: \ n", lista3)

Resultado

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, 45, 11, 34, 9, 20, 7]
# Defina uma lista aninhada
lista2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Crie a lista3 cruzando a lista1 e a lista2 usando o filtro ()
lista3 = [lista (filtro (lambda n: n na lista1, lista)) para barra na lista2]
 
# Print list1
print ("Os valores da lista1: \ n", lista1)
# Imprimir lista2
print ("Os valores de lista2: \ n", lista2)
# Imprimir lista3
print ("Os valores de lista3 após a intersecção de lista1 e lista2: \ n", lista3)

Resultado

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. Então, 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 encontrar 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 estar claro e você deve ser capaz de aplicar a interseção de lista em seu script seguindo qualquer maneira mostrada neste tutorial.

OpenTTD vs Simutrans
Criar sua própria simulação de transporte pode ser divertido, relaxante e extremamente atraente. É por isso que você precisa ter certeza de experiment...
Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...
SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...