Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Contador de Python en colecciones con ejemplo

¿Qué es el contador de Python?

Python Counter es un contenedor que contendrá el conteo de cada uno de los elementos presentes 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 del diccionario. Con la herramienta Contador de Python, puede contar los pares clave-valor en un objeto, también llamado objeto de tabla hash.

¿Por qué usar Python Counter?

Estas son las principales razones para usar Python 3 Counter:

En este tutorial de Python aprenderás:

Introducción al Contador de Python

Python Counter toma como entrada una lista, una tupla, un diccionario, una cadena, que son todos objetos iterables, y le dará una salida que tendrá el conteo de cada elemento.

Sintaxis:

Counter(list)

Considere que tiene una lista siguiente:

list1 = ['x','y','z','x','x','x','y', 'z']

La lista tiene elementos x, y y z. Cuando usa Contador en esta lista, contará cuántas veces está presente x, y y z. La salida si el contador se usa en list1 debería ser algo como:

Counter({'x': 4, 'y': 2, 'z': 2})

Entonces tenemos la cuenta de x como 4, y como 2 y z como 2.

Para hacer uso de 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 Counter.

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

En Python, todo es un objeto y la cadena también es un objeto. La cadena de Python se puede crear simplemente encerrando caracteres entre comillas dobles. Python no admite un tipo de carácter. Estos 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 par clave/valor donde la clave es el elemento y el valor es el conteo. 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 entre corchetes.

Los elementos de la lista cuando se entregan 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 conteo 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 par clave/valor, y se escriben entre corchetes.

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

Tuple es una colección de objetos separados por comas dentro de corchetes. Counter le dará el conteo de cada uno de los elementos en la tupla dada.

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 proporcionada.

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

Contador de inicialización

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()

Contador de actualización

Puede agregar valores al Contador usando 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)

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})

Contador de acceso

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 de Counter, 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 Counter

Las operaciones aritméticas como la suma, la resta, la intersección y la 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 Counter

Hay algunos métodos importantes disponibles con Counter, aquí está la lista de los mismos:

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 la cuenta y cambia de 12 a 20

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Obtenga y configure el conteo de Elementos usando Contador

Para obtener el conteo de un elemento usando Contador, 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'

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})

Resumen:


python

  1. Python String strip() Función con EJEMPLO
  2. Python String count () con EJEMPLOS
  3. Python String format() Explicar con EJEMPLOS
  4. Longitud de cadena de Python | método len() Ejemplo
  5. Método Python String find() con ejemplos
  6. Funciones Python Lambda con EJEMPLOS
  7. Función Python round() con EJEMPLOS
  8. Función Python map() con EJEMPLOS
  9. Python Timeit() con ejemplos
  10. Python List count () con EJEMPLOS
  11. Índice de lista de Python () con ejemplo