Contar valores únicos na lista Python
-
Utilizar
collections.counterpara contar valores únicos na lista Python -
Utilize
setpara contar valores únicos na lista Python -
Utilize
numpy.uniquepara 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.Counterset(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