Python remove duplicatas de uma lista
Uma lista é um container que contém diferentes objetos Python, que podem ser inteiros, palavras, valores, etc. É o equivalente a um array em outras linguagens de programação.
Então, aqui vamos passar por diferentes maneiras pelas quais podemos remover duplicatas de uma determinada lista.
Neste tutorial, você aprenderá:
- Remover duplicatas da lista usando Definir
- Remova duplicatas de uma lista usando a lista temporária.
- Remover duplicatas da lista usando Dict
- Remover duplicatas de uma lista usando loop for
- Remover duplicatas da lista usando compreensão de lista
- Remova duplicatas da lista usando o método Numpy unique().
- Remova duplicatas da lista usando métodos Pandas
- Remova duplicatas usando enumerate() e compreensão de lista
Remover 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 à função interna set(). Mais tarde, a lista final é exibida usando a função incorporada 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]
Remover duplicatas 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. Mais tarde, 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)
Resultado:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
Remover duplicatas da lista usando Dict
Podemos remover duplicatas da lista fornecida importando OrderedDict das coleções. Está disponível a partir do python2.7. OrderedDict se encarrega de retornar os elementos distintos em uma ordem em que a chave está presente.
Vamos fazer uso de uma lista e usar o método fromkeys() disponível em OrderedDict para obter os elementos exclusivos da lista.
Para fazer uso do 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 OrderedDict my_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']
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 únicas e ajudam a eliminar os 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']
Remover duplicatas de uma lista usando for-loop
Usando for-loop, percorreremos a lista de itens para remover duplicatas.
Primeiro inicialize o array para vazio, ou seja, myFinallist =[]. Dentro do loop for, adicione verifique 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))
Resultado:
[1, 2, 3, 4, 5, 6]
Remover duplicatas da lista usando compreensão de lista
As compreensões de lista são funções do Python usadas para criar novas sequências (como listas, dicionários, etc.) usando sequências que já foram criadas. Isso ajuda você 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 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 do 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 np my_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 tem 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
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 pd my_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 enumerate() 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 integrada set(). A especialidade do método set() é que ele retorna elementos distintos.
- Você pode remover duplicatas da lista fornecida importando as coleções OrderedDictfrom. Está disponível a partir do python2.7. OrderedDictdict se encarrega de retornar os elementos distintos em uma ordem em que a chave está presente.
- Você pode usar 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 tem 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.
python
- Tipos de dados Python
- Operadores Python
- Instrução de passagem do Python
- Argumentos da função Python
- Função range() do Python:Float, List, For loop Exemplos
- Compreensão da lista Python, anexar, classificar, comprimento [EXEMPLOS]
- Python Average:Como encontrar a AVERAGE de uma lista em Python
- Python List count() com EXEMPLOS
- Remover elemento de um Python LIST [clear, pop, remove, del]
- Python List index() com exemplo