É um problema comum durante a programação para encontrar elementos duplicados numa lista ou encontrar elementos comuns ou correspondentes presentes em várias as listas. Sempre existem diversas maneiras pelas quais podemos realizar verificações se duas, três ou n listas possuem elementos comuns ou não.
COMO ENCONTRAR ITENS DE CORRESPONDÊNCIA EM UMA LISTA USANDO COMPARAÇÃO
Este exemplo mostra o uso da técnica de comparação de lista para encontrar elementos de correspondência de duas listas. Ele retorna uma lista que contém todos os itens correspondentes.
# Primeira Lista
list1 = [10,20,30,40,50]
# Segunda Lista
list2 = [10,15,20,25,30]
# Imprimir Primeira Lista
print("lista 1 todos os items:\n",list1)
# Imprimir Segunda Lista
print("lista 2 todos os items:\n",list2)
# Encontrar elementos comuns nas listas comparando
list3 = [element for element in list1 if element in list2]
print("Elementos Comuns na lista 1 e na lista 2: ",list3)
Output:
lista 1 todos os items: [10, 20, 30, 40, 50] lista 2 todos os items: [10, 15, 20, 25, 30] Elementos Comuns na lista 1 e na lista 2: [10, 20, 30]
Encontrar elementos comuns da lista usando o método de intersection() de set()
Este exemplo usa o método de intersection() de set() para encontrar elementos comuns. Ele retorna um conjunto que contém todos os elementos encontrados. Podemos usá-lo para obter um conjunto de elementos comuns de duas listas
# Primeira Lista
list1 = [10,20,30,40,50]
# Segunda Lista
list2 = [10,15,20,25,30]
# Imprimir Primeira Lista
print("lista 1 todos os items:\n",list1)
# Imprimir Segunda Lista
print("lista 2 todos os items:\n",list2)
# Encontrar elementos comuns usando metodo intersection() do set
list3 = set(list1).intersection(list2)
print("Elementos Comuns na lista 1 e na lista 2: ",list3)
Output:
list1 items: [10, 20, 30, 40, 50] list2 items: [10, 15, 20, 25, 30] Elementos Comuns na lista 1 e na lista 2: {10, 20, 30}
Sorted, Resultado Ordenado
Se quisermos que o resultado seja classificado, use o método sorted() que retornará os dados em ordem natural. É útil se não quisermos obter dados na ordem anterior.
# Primeira Lista
list1 = [10,20,30,40,50]
# Segunda Lista
list2 = [10,15,20,25,30]
# Imprimir Primeira Lista
print("lista 1 todos os items:\n",list1)
# Imprimir Segunda Lista
print("lista 2 todos os items:\n",list2)
# Encontrando elementos comuns usando método set intersection
list3 = set(list1).intersection(list2)
# Sorting, Ordenando resultadoslist3 = sorted(list3)
print("Ordenando Elementos Comuns na lista 1 e na lista 2: ",list3)
Output:
lista 1 todos o sitems: [10, 20, 30, 40, 50] lista 2 todos os items: [10, 15, 20, 25, 30] Ordenando Elementos Comuns na lista 1 e na lista 2: [10, 20, 30]
Usando filter e lambda
Se quisermos usar uma maneira funcional de encontrar elementos comuns, podemos usar a função filter() e o operador lambda que retornam uma lista de elementos.
# Primeira Lista
list1 = [10,20,30,40,50]
# Segunda Lista
list2 = [10,15,20,25,30]
# Imprimir Primeira Lista
print("lista 1 todos os items:\n",list1)
# Imprimir Segunda Lista
print("lista 2 todos os items:\n",list2)
# Encontrando elementos comuns usando método
list3 = list(filter(lambda element:element in list1, list2))
print("Elementos Comuns na lista 1 e na lista 2: ",list3)
Output:
lista 1 todos os items: [10, 20, 30, 40, 50] lista 2 todos os items: [10, 15, 20, 25, 30] Elementos Comuns na lista 1 e na lista 2: [10, 20, 30]
Comments