Python Language colecciones.


Ejemplo

Contador es una subclase de dict que le permite contar objetos fácilmente. Tiene métodos de utilidad para trabajar con las frecuencias de los objetos que está contando.

import collections
counts = collections.Counter([1,2,3])

el código anterior crea un objeto, cuenta, que tiene las frecuencias de todos los elementos pasados ​​al constructor. Este ejemplo tiene el valor Counter({1: 1, 2: 1, 3: 1})

Ejemplos de constructor

Contador de cartas

>>> collections.Counter('Happy Birthday')
Counter({'a': 2, 'p': 2, 'y': 2, 'i': 1, 'r': 1, 'B': 1, ' ': 1, 'H': 1, 'd': 1, 'h': 1, 't': 1})

Contador de palabras

>>> collections.Counter('I am Sam Sam I am That Sam-I-am That Sam-I-am! I do not like that Sam-I-am'.split())
Counter({'I': 3, 'Sam': 2, 'Sam-I-am': 2, 'That': 2, 'am': 2, 'do': 1, 'Sam-I-am!': 1, 'that': 1, 'not': 1, 'like': 1})

Recetas

>>> c = collections.Counter({'a': 4, 'b': 2, 'c': -2, 'd': 0})

Consigue la cuenta del elemento individual.

>>> c['a']
4

Establecer la cuenta del elemento individual

>>> c['c'] = -3
>>> c
Counter({'a': 4, 'b': 2, 'd': 0, 'c': -3})

Obtener el número total de elementos en el contador (4 + 2 + 0 - 3)

>>> sum(c.itervalues())  # negative numbers are counted!
3

Obtener elementos (solo se mantienen los que tienen un contador positivo)

>>> list(c.elements())
['a', 'a', 'a', 'a', 'b', 'b']

Eliminar claves con 0 o valor negativo.

>>> c - collections.Counter()
Counter({'a': 4, 'b': 2})

Quitar todo

>>> c.clear()
>>> c
Counter()

Añadir eliminar elementos individuales

>>> c.update({'a': 3, 'b':3})
>>> c.update({'a': 2, 'c':2})  # adds to existing, sets if they don't exist
>>> c
Counter({'a': 5, 'b': 3, 'c': 2})
>>> c.subtract({'a': 3, 'b': 3, 'c': 3})  # subtracts (negative values are allowed)
>>> c
Counter({'a': 2, 'b': 0, 'c': -1})