ython remove duplicatas de uma lista

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

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)) 

Saída:

 [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_list print('List After removing duplicates ', my_list) 

Saída:

 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 utilizar o método OrderedDict.fromkey (), é necessário importar OrderedDict das coleções, conforme mostrado a seguir:

 from collections import OrderedDict 

Aqui está um exemplo para remover duplicatas usando o método OrderedDict.fromkeys ().

 from collections import OrderedDict my_list = ['a','x','a','y','a','b','b','c'] my_final_list = OrderedDict.fromkeys(my_list) print(list(my_final_list)) 

Saída:

 ['a', 'x', 'y', 'b', 'c'] 

A partir do Python 3.5+, 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)) 

Saída:

 ['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 o 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)) 

Saída:

 [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) 

Saída:

 [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:

Passo 1 ) Importar módulo Numpy

 import numpy as np 

Passo 2) Use sua lista com duplicatas dentro de um método único, 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 np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList) 

Saída:

 [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) Importar Módulo Pandas

 import pandas as pd 

Passo 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 pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList) 

Saída:

 [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)) 

Saída:

 [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.