Python Count Duplicate na lista

Python Count Duplicate na lista
Ter duplicatas em seus dados pode causar problemas graves, especialmente ao trabalhar com grandes quantidades de dados para análise de dados ou processamento de dados. Portanto, é dever do programador detectar duplicatas e excluí -las dos dados. Esta postagem se concentrará no primeiro e explicará os diferentes métodos através dos quais o usuário pode detectar e contar facilmente duplicados dentro de uma lista de Python.

O conteúdo deste guia é fornecido abaixo:

  • Método 1: Usando a lista para definir a conversão
  • Método 2: Usando a compreensão da lista e o método count ()
  • Método 3: Usando a compreensão da lista com a condição IF-Not-In

Vamos começar com o primeiro método imediatamente!

Método 1: Usando a lista para definir a conversão

Uma lista em Python pode conter duplicatas, o que significa que não há singularidade como a encontrada nos conjuntos de python. Portanto, uma maneira fácil de detectar se há alguma duplicata dentro de uma lista de Python é convertê -la em um conjunto e comparar o tamanho de ambos.

Para demonstrar isso, comece criando uma lista no Python usando o seguinte código:

listvar = [123,46,11,78,334,46,98,11,90]

Depois disso, use o método set () para converter esta lista em um conjunto e armazená -lo dentro de uma variável separada:

setvar = set (listvar)

Imprima o número de elementos de ambos usando o método len ():

print ("Elementos na lista:", Len (listvar))
Print ("Elementos em Set:", Len (setvar))

Quando este código é executado, ele produz os seguintes resultados no terminal:

De acordo com a saída, o número de elementos da lista é 9 e 7 para o conjunto. Isso significa que há um total de duas duplicatas na lista. Mas, em vez de calcular manualmente duplicatas, você também pode usar a seguinte linha:

print ("Número de duplicatas na lista", Len (listvar) -len (setvar))

O trecho de código completo com esta nova declaração de impressão é:

listvar = [123,46,11,78,334,46,98,11,90]
setvar = set (listvar)
print ("Número de duplicatas na lista", Len (listvar) -len (setvar))

Quando este código é executado, ele produz o seguinte resultado no terminal:

Como você pode ver na imagem de saída, há um total de duas duplicatas na lista.

Método 2: Usando a compreensão da lista e o método count ()

Outro método de imprimir as duplicatas de uma lista é usando o método de compreensão da lista para buscar cada valor da lista e depois usar o método count () para verificar sua contagem na lista. Se o resultado do método count () for maior que um, você poderá adicionar esse elemento a uma lista de duplicatas.

Para demonstrar o funcionamento deste método, pegue o seguinte código:

listvar = [123,46,11,78,334,46,98,11,90]
duplicateVar = []
para x em listvar:
se listvar.contagem (x)> 1:
duplicateVar.Anexar (x)
Print ("As duplicatas encontradas na lista são:", duplicatevar)

Quando este código é executado, ele produz o seguinte resultado em seu terminal:

Como você pode ver na saída, os valores “46” e “11” estavam presentes duas vezes cada.

Método 3: Usando a compreensão da lista com a condição IF-Not-In

Outro método de encontrar duplicatas em uma lista é usando a compreensão da lista e aplicando a condição if-in-in-in.

Pegue o seguinte snippet de código para este método:

listvar = [123,46,11,78,334,46,98,11,90]
UniqueListVar = []
duplicatelistvar = []
para x em listvar:
Se x não estiver no UniqueListvar:
UniqueListvar.Anexar (x)
outro:
duplicatelistvar.Anexar (x)
Print ("A lista de elementos exclusivos é:", UniqueListvar)
Print ("As duplicatas encontradas na lista são:", duplicatelistvar)

Neste snippet de código:

  • Duas novas listas são criadas, uma para armazenar cada valor exclusivo e outro para armazenar cada valor de repetição/duplicado
  • Cada elemento é verificado em relação aos valores armazenados dentro da lista de valores exclusivos e, se ainda não existir, é anexado a ele.
  • Se já existe lá, será anexado à lista de valores duplicados.
  • No final, imprima ambas as listas no terminal usando o método print ()

Quando este código é executado, ele produz o seguinte resultado em seu terminal:

A partir da saída, pode -se observar que os valores “46” e “11” eram duplicados e, portanto, apenas uma de suas instâncias é deixada na lista de valores únicos.

Conclusão

Para encontrar duplicatas em uma lista, o usuário pode utilizar abordagens diferentes que incluem a conversão da lista em uma string, usando a compreensão da lista com o método count () ou o uso da condição if-in-in com a compreensão da lista. No entanto, o método mais rápido para remover as duplicatas da lista é a conversão da lista em um conjunto.