Contar valores únicos na lista Python

Jinku Hu 30 janeiro 2023
  1. Utilizar collections.counter para contar valores únicos na lista Python
  2. Utilize set para contar valores únicos na lista Python
  3. Utilize numpy.unique para contar os valores únicos na lista Python
Contar valores únicos na lista Python

Este artigo irá introduzir diferentes métodos para contar valores únicos dentro da lista. usando os seguintes métodos:

  • collections.Counter
  • set(listName)
  • np.unique(listName)

Utilizar collections.counter para contar valores únicos na lista Python

A collections é uma biblioteca padrão Python, e contém a classe Counter para contar os objectos hashable.

A classe Counter tem dois métodos :

  1. keys() devolve os valores únicos da lista.
  2. values() devolve a contagem de cada valor único na lista.

Podemos utilizar a função len() para obter o número de valores únicos, passando a classe Counter como argumento.

Códigos de exemplo:

from collections import Counter

words = ["Z", "V", "A", "Z", "V"]

print(Counter(words).keys())
print(Counter(words).values())

print(Counter(words))

Resultado:

['V', 'A', 'Z']
[2, 1, 2]
3

Utilize set para contar valores únicos na lista Python

O set é um tipo de dados de recolha não ordenados que é iterável, mutável, e não tem elementos duplicados. Podemos obter o comprimento do set para contar valores únicos na lista depois de convertermos a lista para um set utilizando a função set().

Códigos de exemplo:

words = ["Z", "V", "A", "Z", "V"]
print(len(set(words)))

Resultado:

3

Utilize numpy.unique para contar os valores únicos na lista Python

O parâmetro numpy.unique devolve os valores únicos dos dados introduzidos, e também devolve a contagem de cada valor único se o parâmetro return_counts estiver definido para ser True.

Códigos de exemplo:

import numpy as np

words = ["Z", "V", "A", "Z", "V"]

np.unique(words)

print(len(np.unique(words)))

Resultado:

3
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artigo relacionado - Python List