¿Qué es un contador de Python?
Python Counter es un contenedor que llevará la cuenta de cada uno de los elementos en el contenedor. El contador es una subclase disponible dentro de la clase de diccionario.
El contador es una subclase disponible dentro de la clase de diccionario. Con la herramienta Contador de Python, puede contar los pares clave-valor en un objeto, también conocido como objeto de tabla hash.
¿Por qué usar un contador de Python?
Aquí hay algunas buenas razones para usar un contador de Python 3:
- El enumerador mantiene los datos en una colección desordenada, al igual que las cosas utilizables. Los elementos aquí representan las claves y el recuento como valores.
- Le permite contar los elementos en una lista de variables.
- Las operaciones aritméticas como la suma, la resta, la intersección y la unión se pueden realizar fácilmente en un contador.
- Un contador puede contar elementos de otro contador
En este tutorial de Python aprenderá:
Introducción a Python Counter
Python Counter toma una lista, tupla, diccionario, cadena, todos los cuales son objetos variables, y le da una salida que contará cada elemento.
Sintaxis:
Counter(list)
Considere que tiene la siguiente lista:
list1 = ['x','y','z','x','x','x','y', 'z']
Los elementos son x, y y z en la lista. Cuando use Contador en esta lista, contará cuántas veces x, y y zi están presentes. La salida si se debe usar un contador en list1 debería ser como:
Counter({'x': 4, 'y': 2, 'z': 2})
Así que contamos x como 4, y como 2 y z como 2.
Para usar Counter, primero debemos importarlo como se muestra en el siguiente ejemplo:
from collections import Counter
Aquí hay un ejemplo simple, que muestra el funcionamiento del módulo Contador.
from collections import Counter list1 = ['x','y','z','x','x','x','y', 'z'] print(Counter(list1))
Producción:
Counter({'x': 4, 'y': 2, 'z': 2})
Contador con cuerda
En Python, todo es un objeto y una cadena también es un objeto. Se puede crear una cadena de Python simplemente encerrando caracteres entre comillas dobles. Python no admite el tipo de carácter. Estos se tratan como alambres de longitud uno, que también se consideran un sustrato.
En el siguiente ejemplo, se pasa un cable a un contador. Devuelve el formato del diccionario, con un par clave / valor donde la clave es el elemento y el valor es el recuento. También considera el espacio como un elemento y da un recuento de los espacios en la cadena.
Ejemplo:
from collections import Counter my_str = "Welcome to Guru99 Tutorials!" print(Counter(my_str))
Producción:
Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1, 'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})
Enumerador con lista
Una lista cuyos elementos están entre corchetes es una variable.
Los elementos de la lista cuando se entreguen al Contador se convertirán en un objeto utilizable en el que los elementos serán claves y los valores serán el recuento de los elementos de la lista dada.
Por ejemplo [‘x’,’y’,’z’,’x’,’x’,’x’,’y’,’z’]. Cuando enumere el Contador, le dará un recuento de todos los elementos de la lista.
from collections import Counter list1 = ['x','y','z','x','x','x','y','z'] print(Counter(list1))
Producción:
Counter({'x': 4, 'y': 2, 'z': 2})
Contador de diccionario
Los elementos de un diccionario son un par clave / valor y están escritos entre corchetes.
Cuando el diccionario se entrega al Contador, se convertirá en un objeto utilizable en el que los elementos serán claves y los valores serán el recuento de los elementos del diccionario dado.
Por ejemplo: {‘x’: 4, ‘y’: 2, ‘z’: 2, ‘z’: 2}. La función Enumerador intentará encontrar todas las claves en el diccionario dado.
from collections import Counter dict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2} print(Counter(dict1))
Producción:
Counter({'x': 4, 'y': 2, 'z': 2})
Contador con tupla
Tuple es una colección de objetos separados por comas dentro de corchetes. Un contador dará un recuento de cada uno de los elementos en la tupla dada.
Una vez que la tupla se entregue al contador, se convertirá en un objeto utilizable en el que los elementos serán claves y los valores serán el recuento de los elementos de la tupla dada.
from collections import Counter tuple1 = ('x','y','z','x','x','x','y','z') print(Counter(tuple1))
Producción:
Counter({'x': 4, 'y': 2, 'z': 2})
Acceso, inicio y actualización de contadores
Inicio de un contador
Se puede iniciar un contador pasando un valor de cable, lista, diccionario o tupla como se muestra a continuación:
from collections import Counter print(Counter("Welcome to Guru99 Tutorials!")) #using string print(Counter(['x','y','z','x','x','x','y', 'z'])) #using list print(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionary print(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple
También puede iniciar un contador vacío como se muestra a continuación:
from collections import Counter _count = Counter()
Contador de actualizaciones
Puede agregar valores al Contador usando el método de actualización ().
_count.update('Welcome to Guru99 Tutorials!')
El código final es:
from collections import Counter _count = Counter() _count.update('Welcome to Guru99 Tutorials!') print(_count)
La salida es:
Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1, 'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})
Acceso al mostrador
Para obtener los valores del contador, puede hacer lo siguiente:
from collections import Counter _count = Counter() _count.update('Welcome to Guru99 Tutorials!') print('%s : %d' % ('u', _count['u'])) print('n') for char in 'Guru': print('%s : %d' % (char, _count[char]))
Producción:
u : 3 G : 1 u : 3 r : 2 u : 3
Eliminar un elemento del contador
Para eliminar un elemento del Contador, puede usar del, como se muestra en el siguiente ejemplo:
Ejemplo:
from collections import Counter dict1 = {'x': 4, 'y': 2, 'z': 2} del dict1["x"] print(Counter(dict1))
Producción:
Counter({'y': 2, 'z': 2})
Operación aritmética en Python Counter
Una operación aritmética como suma, resta, intersección y unión se puede realizar en un contador como se muestra en el siguiente ejemplo:
Ejemplo:
from collections import Counter counter1 = Counter({'x': 4, 'y': 2, 'z': -2}) counter2 = Counter({'x1': -12, 'y': 5, 'z':4 }) #Addition counter3 = counter1 + counter2 # only the values that are positive will be returned. print(counter3) #Subtraction counter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the output print(counter4) #Intersection counter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2 print(counter5) #Union counter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2 print(counter6)
Producción:
Counter({'y': 7, 'x': 4, 'z': 2}) Counter({'x1': 12, 'x': 4}) Counter({'y': 2}) Counter({'y': 5, 'x': 4, 'z': 4})
Métodos disponibles en Python Counter
Hay varios métodos importantes disponibles con Counter, aquí hay una lista de ellos:
- elementos () : Este método le devolverá todos los elementos con recuento> 0. Los elementos con recuento 0 o -1 no se devolverán.
- most_common (valor): Este método le dará los elementos más comunes de la lista Contadores.
- resta (): Este método se utiliza para extraer los elementos de otro contador.
- actualizar (): Este método se utiliza para actualizar los elementos de otro contador.
Ejemplo: elementos ()
from collections import Counter counter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0}) _elements = counter1.elements() # will give you all elements with positive value and count>0 for a in _elements: print(a)
Producción:
x x x x x y y
Ejemplo: most_common (valor)
from collections import Counter counter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0}) common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next. print(common_element) common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element. print(common_element1)
Producción:
[('y', 12), ('x', 5)] [('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Ejemplo: resta ()
from collections import Counter counter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0}) counter2 = Counter({'x': 2, 'y':5}) counter1.subtract(counter2) print(counter1)
Producción:
Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})
Ejemplo: update ()
from collections import Counter counter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0}) counter2 = Counter({'x': 2, 'y':5}) counter1.update(counter2) print(counter1)
Producción:
Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})
Reasignar recuentos en Python
Puede asignar el recuento del contador como se muestra a continuación:
Piense en un diccionario como: {‘x’: 5, ‘y’: 12, ‘z’: -2, ‘x1’: 0}
Puede cambiar el recuento del elemento como se muestra a continuación:
from collections import Counter counter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0}) counter1['y'] = 20 print(counter1)
Salida: después de la ejecución, verá que el recuento de y se cambia de 12 a 20
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Encuentra y establece el recuento de elementos usando Counter
Para contar elementos usando un enumerador, puede hacer lo siguiente:
from collections import Counter counter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0}) print(counter1['y']) # this will give you the count of element 'y'
Producción:
12
Para establecer el recuento del elemento, puede hacer lo siguiente:
from collections import Counter counter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0}) print(counter1['y']) counter1['y'] = 20 counter1['y1'] = 10 print(counter1)
Producción:
12 Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Resumen:
- Un contador es un contenedor que llevará la cuenta de cada uno de los elementos del contenedor.
- Un contador es una subclase disponible dentro de la clase de diccionario.
- Con la herramienta Contador de Python, puede contar los pares clave-valor en un objeto, también conocido como objeto utilizable.
- El enumerador mantiene los datos en una colección desordenada, al igual que las cosas utilizables. Los elementos aquí representan las claves y el recuento como valores.
- Le permite contar los elementos en una lista de variables.
- Las operaciones aritméticas como la suma, la resta, la intersección y la unión se pueden realizar fácilmente en un contador.
- Un contador puede contar elementos de otro contador.
- Los modos clave disponibles en Counter son elementos (), most_common (valor), resta () y actualización ().
- Un contador se puede utilizar en una lista, un diccionario y una tupla.