Python | Objetos de contador | elements()

La clase de contador es un tipo especial de conjunto de datos de objetos proporcionado con el módulo de colecciones en Python3. El módulo Colecciones proporciona al usuario tipos de datos de contenedores especializados, por lo que proporciona una alternativa a las funciones integradas de propósito general de Python, como diccionarios, listas y tuplas. 

Counter es una subclase que se utiliza para contar objetos hashable. Implícitamente crea una tabla hash de un iterable cuando se invoca.

elements() es una de las funciones de la clase Counter, cuando se invoca en el objeto Counter devolverá una itertool de todos los elementos conocidos en el objeto Counter.

Parámetros: no toma ningún parámetro
Tipo de devolución: devuelve una itertool para todos los elementos con recuento positivo en el objeto Counter
Errores y excepciones:  
-> Imprimirá un valor basura cuando se imprima directamente porque devuelve una itertool, no un dato específico. envase. 
-> Si el recuento de un elemento ya está inicializado en el objeto Contador, ignorará los que tengan valores cero y negativos. 
 

Código #1: Trabajo de elements() en un contenedor de datos simple  

Python3

# import counter class from collections module
from collections import Counter
 
# Creation of a Counter Class object using
# string as an iterable data container
x = Counter("geeksforgeeks")
 
# printing the elements of counter object
for i in x.elements():
    print ( i, end = " ")

Producción: 

g g e e e e k k s s f o r 

Código #2: elementos en una variedad de objetos de contador con diferentes contenedores de datos  

Python3

# import counter class from collections module
from collections import Counter
 
# Creation of a Counter Class object using
# a string as an iterable data container
# Example - 1
a = Counter("geeksforgeeks")
 
# Elements of counter object
for i in a.elements():
    print ( i, end = " ")
print()
     
# Example - 2
b = Counter({'geeks' : 4, 'for' : 1,
            'gfg' : 2, 'python' : 3})
 
for i in b.elements():
    print ( i, end = " ")
print()
 
# Example - 3
c = Counter([1, 2, 21, 12, 2, 44, 5,
              13, 15, 5, 19, 21, 5])
 
for i in c.elements():
    print ( i, end = " ")
print()             
               
# Example - 4
d = Counter( a = 2, b = 3, c = 6, d = 1, e = 5)
 
for i in d.elements():
    print ( i, end = " ")

Producción:

g g e e e e k k s s f o r 
geeks geeks geeks geeks for gfg gfg python python python 
1 2 2 21 21 12 44 5 5 5 13 15 19 
a a b b b c c c c c c d e e e e e 

Código #3: Para demostrar qué elements() devuelven cuando se imprimen directamente  

Python3

# import Counter from collections
from collections import Counter
 
# creating a raw data-set
x = Counter ("geeksforgeeks")
 
# will return a itertools chain object
# which is basically a pseudo iterable container whose
# elements can be used when called with a iterable tool
print(x.elements())

Producción: 

itertools.chain object at 0x037209F0

Código #4: Cuando el conteo de un artículo en Contador se inicializa con valores negativos o cero.  

Python3

# import Counter from collections
from collections import Counter
 
# creating a raw data-set using keyword arguments
x = Counter (a = 2, x = 3, b = 3, z = 1, y = 5, c = 0, d = -3)
 
# printing out the elements
for i in x.elements():
    print( "% s : % s" % (i, x[i]), end ="\n")

Producción: 

a : 2
a : 2
x : 3
x : 3
x : 3
b : 3
b : 3
b : 3
z : 1
y : 5
y : 5
y : 5
y : 5
y : 5

Nota: podemos inferir de la salida que los elementos con valores inferiores a 1 son omitidos por elements().

Aplicaciones: 
el objeto contador junto con sus funciones se utilizan colectivamente para procesar grandes cantidades de datos. Podemos ver que Counter() crea un mapa hash para el contenedor de datos invocado con él, que es muy útil que el procesamiento manual de elementos. Es una de las herramientas de procesamiento y funcionamiento más altas e incluso puede funcionar con una amplia gama de datos.
 

Publicación traducida automáticamente

Artículo escrito por retr0 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *