Python Contador en colecciones con ejemplo
¿Qué es Python ¿Encimera?
Python El contador es un contenedor que contendrá el recuento de cada uno de los elementos presentes en el contenedor. El contador es una subclase disponible dentro de la clase del diccionario.
El contador es una subclase disponible dentro de la clase del diccionario. Usando el Python Herramienta de contador, puede contar los pares clave-valor en un objeto, también llamado objeto de tabla hash.
¿Por qué utilizar Python ¿Encimera?
A continuación se detallan las principales razones para utilizar Python 3 Contador:
- El Contador contiene los datos en una colección desordenada, al igual que los objetos de tabla hash. Los elementos aquí representan las claves y el recuento como valores.
- Le permite contar los elementos en una lista iterable.
- Operaciones aritméticas como suma, resta, intersección y unión se pueden realizar fácilmente en un contador.
- Un Contador también puede contar elementos de otro contador.
Introducción a los Python Para contrarrestar
Python El contador toma como entrada una lista, tupla, diccionario, cadena, que son todos objetos iterables, y le dará una salida que tendrá el recuento de cada elemento.
Sintaxis:
Counter(list)
Imagina que tienes la siguiente lista:
list1 = ['x','y','z','x','x','x','y', 'z']
La lista tiene elementos x, y y z. Cuando use Counter en esta lista, contará cuántas veces x, y y z están presentes. La salida si se usa el contador en la lista1 debería ser algo como:
Counter({'x': 4, 'y': 2, 'z': 2})
Entonces tenemos el recuento de x como 4, y como 2 y z como 2.
Para utilizar 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))
Salida:
Counter({'x': 4, 'y': 2, 'z': 2})
Contador con cuerda
In Python, todo es un objeto y la cadena también es un objeto. Python cadena Se pueden crear simplemente encerrando caracteres entre comillas dobles. Python no admite un tipo de carácter. Se tratan como cadenas de longitud uno, también consideradas como una subcadena.
En el siguiente ejemplo, se pasa una cadena a Counter. Devuelve formato de 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 proporciona el recuento de espacios en la cadena.
Ejemplo:
from collections import Counter my_str = "Welcome to Guru99 Tutorials!" print(Counter(my_str))
Salida:
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})
Contador con lista
Una lista es un objeto iterable que tiene sus elementos dentro de corchetes.
Los elementos de la lista, cuando se entreguen al Contador, se convertirán en objetos de tabla hash en los que los elementos se convertirán en claves y los valores serán el recuento de los elementos de la lista proporcionada.
Por ejemplo ['x','y','z','x','x','x','y','z']. Una vez que le dé a la lista el Contador, le dará el recuento de cada elemento en la lista.
from collections import Counter list1 = ['x','y','z','x','x','x','y','z'] print(Counter(list1))
Salida:
Counter({'x': 4, 'y': 2, 'z': 2})
Contador con diccionario
Un diccionario tiene elementos como pares clave/valor, y se escriben dentro de llaves.
Una vez que el diccionario se entrega al Contador, se convertirá en objetos de tabla hash en los que los elementos se convertirán en claves y los valores serán el recuento de los elementos del diccionario proporcionado.
Por ejemplo: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. La función Contador intentará encontrar el recuento de cada una de las claves en el diccionario dado.
from collections import Counter dict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2} print(Counter(dict1))
Salida:
Counter({'x': 4, 'y': 2, 'z': 2})
Contador con tupla
Una tupla es una colección de objetos separados por comas dentro de corchetes. Counter te dará el recuento de cada uno de los elementos de la tupla indicada.
Una vez que la tupla se entrega al Contador, se convertirá en un objeto de tabla hash en el que los elementos se convertirán en 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))
Salida:
Counter({'x': 4, 'y': 2, 'z': 2})
Acceso, inicialización y actualización de contadores
Inicializando contador
Un contador se puede inicializar pasando un valor de cadena, una lista, un diccionario o una 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 inicializar un contador vacío como se muestra a continuación:
from collections import Counter _count = Counter()
Actualizando contador
Puede agregar valores al contador utilizando el método update().
_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)
El resultado 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]))
Salida:
u : 3 G : 1 u : 3 r : 2 u : 3
Eliminar un elemento del contador
Para eliminar un elemento del Contador puede utilizar 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))
Salida:
Counter({'y': 2, 'z': 2})
Operación aritmética en Python Para contrarrestar
Las operaciones aritméticas como suma, resta, intersección y unión se pueden 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)
Salida:
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 Para contrarrestar
Hay algunos métodos importantes disponibles con Counter, aquí está la lista de los mismos:
- elementos() : Este método le devolverá todos los elementos con un recuento >0. Los elementos con un recuento de 0 o -1 no se devolverán.
- más_común(valor): Este método le devolverá los elementos más comunes de la lista de contadores.
- sustraer(): Este método se utiliza para deducir 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)
Salida:
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)
Salida:
[('y', 12), ('x', 5)] [('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Ejemplo: restar()
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)
Salida:
Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})
Ejemplo: actualizar()
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)
Salida:
Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})
Reasignación de recuentos en Python
Puede reasignar recuentos de contador como se muestra a continuación:
Considere que tiene 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 ejecutar, verá que el recuento cambia de 12 a 20.
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Obtenga y establezca el recuento de elementos usando Counter
Para obtener el recuento de un elemento usando Counter puedes 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'
Salida:
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)
Salida:
12 Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Resum
- El contador es un contenedor que contendrá el recuento de cada uno de los elementos presentes en el contenedor.
- Counter es una subclase disponible dentro de la clase de diccionario.
- Usando el Python Herramienta de contador, puede contar los pares clave-valor en un objeto, también llamado objeto de tabla hash.
- El Contador contiene los datos en una colección desordenada, al igual que los objetos de tabla hash. Los elementos aquí representan las claves y el recuento como valores.
- Le permite contar los elementos en una lista iterable.
- Operaciones aritméticas como suma, resta, intersección y unión se pueden realizar fácilmente en un contador.
- Un Contador también puede contar elementos de otro contador.
- Los métodos importantes disponibles en un contador son elementos(), most_common(valor), resta() y actualización().
- Se puede utilizar un contador en una cadena, lista, diccionario y tupla.