Contar valores únicos na lista Python
-
Utilizar
collections.counter
para contar valores únicos na lista Python -
Utilize
set
para contar valores únicos na lista Python -
Utilize
numpy.unique
para contar os 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 :
keys()
devolve os valores únicos da lista.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
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