Python remove duplicatas de uma lista

Índice:

Anonim

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.