Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

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


python

  1. Tipos de dados Python
  2. Operadores Python
  3. Instrução de passagem do Python
  4. Argumentos da função Python
  5. Função range() do Python:Float, List, For loop Exemplos
  6. Compreensão da lista Python, anexar, classificar, comprimento [EXEMPLOS]
  7. Python Average:Como encontrar a AVERAGE de uma lista em Python
  8. Python List count() com EXEMPLOS
  9. Remover elemento de um Python LIST [clear, pop, remove, del]
  10. Python List index() com exemplo