Uma lista é um contêiner que contém diferentes objetos Python, que podem ser inteiros, palavras, valores, etc. É o equivalente a um array em outras linguagens de programação.
Portanto, aqui iremos percorrer diferentes maneiras de remover duplicatas de uma determinada lista.
Neste tutorial, você aprenderá:
- Remova duplicatas da lista usando Set
- Remova Duplicados de uma lista usando a Lista Temporária.
- Remova duplicatas da lista usando Dict
- Remova duplicatas de uma lista usando for-loop
- Remova duplicatas da lista usando a compreensão da lista
- Remova duplicatas da lista usando o método Numpy unique ().
- Remova duplicatas da lista usando métodos Pandas
- Remova duplicatas usando enumerar () e compreensão de lista
Remova duplicatas da lista usando Set
Para remover as duplicatas de uma lista, você pode usar a função interna set (). A especialidade do método set () é que ele retorna elementos distintos.Temos uma lista: [1,1,2,3,2,2,4,5,6,2,1]. A lista tem muitas duplicatas que precisamos remover e recuperar apenas os elementos distintos. A lista é fornecida para a função embutida set (). Posteriormente, a lista final é exibida usando a função interna list (), conforme mostrado no exemplo abaixo.
A saída que obtemos são elementos distintos, onde todos os elementos duplicados são eliminados.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Resultado:
[1, 2, 3, 4, 5, 6]
Remova Duplicados de uma lista usando a Lista Temporária
Para remover duplicatas de uma determinada lista, você pode usar uma lista temporária vazia. Para isso primeiro, você terá que percorrer a lista com duplicatas e adicionar os itens exclusivos à lista temporária. Posteriormente, a lista temporária é atribuída à lista principal.
Aqui está um exemplo de trabalho usando lista temporária.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]print("List Before ", my_list)temp_list = []for i in my_list:if i not in temp_list:temp_list.append(i)my_list = temp_listprint("List After removing duplicates ", my_list)
Resultado:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Remova duplicatas da lista usando Dict
Podemos remover duplicatas da lista fornecida importando OrderedDict das coleções. Ele está disponível a partir de python2.7. OrderedDict se encarrega de retornar os elementos distintos em uma ordem em que a chave está presente.
Vamos usar uma lista e usar o método fromkeys () disponível em OrderedDict para obter os elementos exclusivos da lista.
Para usar o método OrderedDict.fromkey (), você deve importar OrderedDict das coleções, conforme mostrado abaixo:
from collections import OrderedDict
Aqui está um exemplo para remover duplicatas usando o método OrderedDict.fromkeys ().
from collections import OrderedDictmy_list = ['a','x','a','y','a','b','b','c']my_final_list = OrderedDict.fromkeys(my_list)print(list(my_final_list))
Resultado:
['a', 'x', 'y', 'b', 'c']
Do Python 3.5+ em diante, podemos usar o dict.fromkeys () regular para obter os elementos distintos da lista. Os métodos dict.fromkeys () retornam chaves que são exclusivas e ajudam a se livrar dos valores duplicados.
Um exemplo que mostra o funcionamento de dict.fromkeys () em uma lista para fornecer os itens exclusivos é o seguinte:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Resultado:
['a', 'x', 'y', 'b', 'c']
Remova duplicatas de uma lista usando for-loop
Usando o loop for, percorreremos a lista de itens para remover duplicatas.
Primeiro inicialize o array para esvaziar, isto é, myFinallist = []. Dentro do loop for, adicione verificar se os itens da lista existem no array myFinallist. Se os itens não existirem, adicione o item ao array myFinallist usando append () método.
Portanto, sempre que o item duplicado for encontrado, ele já estará presente no array myFinallist e não será inserido. Vamos agora verificar o mesmo no exemplo abaixo:
my_list = [1,2,2,3,1,4,5,1,2,6]myFinallist = []for i in my_list:if i not in myFinallist:myFinallist.append(i)print(list(myFinallist))
Resultado:
[1, 2, 3, 4, 5, 6]
Remova duplicatas da lista usando a compreensão da lista
Compreensões de lista são funções Python usadas para criar novas sequências (como listas, dicionários, etc.) usando sequências que já foram criadas. Isso ajuda a reduzir loops mais longos e tornar seu código mais fácil de ler e manter.
Vamos usar a compreensão de lista para remover duplicatas da lista fornecida.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [][my_finallist.append(n) for n in my_list if n not in my_finallist]print(my_finallist)
Resultado:
[1, 2, 3, 4, 5, 6]
Remova duplicatas da lista usando o método Numpy unique ().
O método unique () do módulo Numpy pode nos ajudar a remover duplicatas da lista fornecida.
Para trabalhar com o Numpy, primeiro importe o módulo numpy, você precisa seguir estas etapas:
Etapa 1 ) Importar módulo Numpy
import numpy as np
Etapa 2) Use sua lista com duplicatas dentro de um método exclusivo, conforme mostrado abaixo. A saída é convertida de volta para um formato de lista usando o método tolist ().
myFinalList = np.unique(my_list).tolist()
Etapa 3) Por fim, imprima a lista conforme mostrado abaixo:
print(myFinalList)
O código final com saída é o seguinte:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Resultado:
[1, 2, 3, 4, 5, 6]
Remova duplicatas da lista usando métodos Pandas
O módulo Pandas possui um método unique () que nos dará os elementos únicos da lista fornecida.
Para trabalhar com o módulo Pandas, você precisa seguir estas etapas:
Etapa 1) Módulo de importação do Pandas
import pandas as pd
Etapa 2) Use sua lista com duplicatas dentro do método unique () conforme mostrado abaixo:
myFinalList = pd.unique(my_list).tolist()
Etapa 3) Imprima a lista conforme mostrado abaixo:
print(myFinalList)
O código final com saída é o seguinte:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Resultado:
[1, 2, 3, 4, 5, 6]
Remova duplicatas usando enumerar () e compreensão de lista
Aqui, a combinação de compreensão de lista e enumeração para remover os elementos duplicados. Enumerate retorna um objeto com um contador para cada elemento da lista. Por exemplo (0,1), (1,2) etc. Aqui, o primeiro valor é o índice e o segundo valor é o item da lista. C
Cada elemento é verificado se existe na lista e, se existir, é removido da lista.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]]print(list(my_finallist))
Resultado:
[1, 2, 3, 4, 5, 6]
Resumo
- Para remover as duplicatas de uma lista, você pode usar a função interna set (). A especialidade do método set () é que ele retorna elementos distintos.
- Você pode remover duplicatas da lista fornecida importando OrderedDict das coleções. Ele está disponível a partir de python2.7. OrderedDictdict se encarrega de retornar os elementos distintos em uma ordem em que a chave está presente.
- Você pode fazer uso de um loop for que percorreremos a lista de itens para remover duplicatas.
- O método unique () do módulo Numpy pode nos ajudar a remover duplicatas da lista fornecida.
- O módulo Pandas possui um método unique () que nos dará os elementos únicos da lista fornecida.
- A combinação de compreensão de lista e enumeração é usada para remover os elementos duplicados da lista. Enumerate retorna um objeto com um contador para cada elemento da lista.