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

Como Remover Elementos Duplicados de uma Lista em Python

Uma lista é uma estrutura de dados fundamental em Python que mantém uma coleção ordenada de itens como inteiros, strings ou objetos personalizados. É o equivalente em Python de um array em outras linguagens.

Abaixo estão técnicas comprovadas para remover elementos duplicados de uma lista preservando ordem e legibilidade.

Remover duplicatas usando um set

A função embutida set() do Python elimina duplicatas retornando apenas elementos únicos. Converta a lista para set e depois de volta para lista para preservar o formato de coleção.

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]

Remover duplicatas usando uma lista temporária

Esta abordagem cria uma lista vazia, itera sobre a lista original e anexa apenas itens que ainda não foram vistos.

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]

Remover duplicatas usando OrderedDict (ou dict.fromkeys)

Para Python 3.5+, um dict simples preserva ordem de inserção, então dict.fromkeys() pode ser usado para manter valores únicos em ordem.

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

Remover duplicatas com loop for simples

Percorra a lista, adicionando itens a uma nova lista apenas se não apareceram antes.

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

Saída:

[1, 2, 3, 4, 5, 6]

Remover duplicatas via list comprehension

List comprehensions oferecem sintaxe concisa mantendo legibilidade.

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]

Remover duplicatas com unique() do NumPy

A função unique() do NumPy retorna os elementos únicos ordenados de um array.

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]

Remover duplicatas usando unique() do Pandas

Similarmente, Pandas oferece um método leve unique() que funciona em objetos semelhantes a listas.

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]

Remover duplicatas com enumerate() e list comprehension

Combinar enumerate() com list comprehension permite remover duplicatas preservando a primeira ocorrência de cada elemento.

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

Saída:

[1, 2, 3, 4, 5, 6]

Resumo

python

  1. Dominando Tipos de Dados em Python: Guia Prático
  2. Dominando Operadores em Python: Guia Completo
  3. Dominando a Declaração Pass em Python: Guia Prático
  4. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  5. Dominando a Função range() do Python: Do Básico ao Avançado
  6. Dominando Listas em Python: Append, Sort, Length & List Comprehensions (Guia Prático)
  7. Calculando Médias em Python: Guia Prático
  8. Python list.count(): Guia Especializado com Exemplos Práticos
  9. Como Remover Itens de uma Lista em Python: remove(), pop(), clear() e del
  10. Python List index(): Como Encontrar Posições de Elementos com Exemplos Práticos