Capítulo 5: Profundización en Estructuras de Datos
5.4 Módulo de Colecciones de Python
El módulo collections
de Python es un gran recurso para desarrolladores que buscan trabajar con diferentes estructuras de datos. Además de las incorporadas, el módulo ofrece una variedad de estructuras de datos especializadas que pueden ayudar a optimizar el rendimiento y simplificar el código.
Por ejemplo, la clase defaultdict
es una subclase de la clase dict
incorporada que inicializa automáticamente las claves faltantes con un valor predeterminado. Otra estructura de datos útil es la clase Counter
, que te permite contar las ocurrencias de elementos en una lista u otro iterable. Al aprovechar estas estructuras de datos adicionales, los desarrolladores pueden escribir un código más eficiente y efectivo.
Aquí tienes una breve introducción:
- Counter: Una subclase de dict para contar objetos hashable.
from collections import Counter
c = Counter('hello world')
print(c) # Outputs: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
- defaultdict: Una subclase de dict que llama a una función de fábrica para suministrar valores faltantes.
from collections import defaultdict
d = defaultdict(int)
d['missing']
print(d) # Outputs: defaultdict(<class 'int'>, {'missing': 0})
- OrderedDict: Una subclase de dict que recuerda el orden en que se agregaron las entradas.
from collections import OrderedDict
d = OrderedDict()
d['a'] = 1
d['b'] = 2
print(d) # Outputs: OrderedDict([('a', 1), ('b', 2)])
- deque: Un contenedor similar a una lista con adiciones y eliminaciones rápidas en ambos extremos.
from collections import deque
d = deque()
d.append('a')
d.append('b')
print(d) # Outputs: deque(['a', 'b'])
- namedtuple: Genera subclases de tuple con campos nombrados.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, y=2)
print(p) # Outputs: Point(x=1, y=2)
5.4 Módulo de Colecciones de Python
El módulo collections
de Python es un gran recurso para desarrolladores que buscan trabajar con diferentes estructuras de datos. Además de las incorporadas, el módulo ofrece una variedad de estructuras de datos especializadas que pueden ayudar a optimizar el rendimiento y simplificar el código.
Por ejemplo, la clase defaultdict
es una subclase de la clase dict
incorporada que inicializa automáticamente las claves faltantes con un valor predeterminado. Otra estructura de datos útil es la clase Counter
, que te permite contar las ocurrencias de elementos en una lista u otro iterable. Al aprovechar estas estructuras de datos adicionales, los desarrolladores pueden escribir un código más eficiente y efectivo.
Aquí tienes una breve introducción:
- Counter: Una subclase de dict para contar objetos hashable.
from collections import Counter
c = Counter('hello world')
print(c) # Outputs: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
- defaultdict: Una subclase de dict que llama a una función de fábrica para suministrar valores faltantes.
from collections import defaultdict
d = defaultdict(int)
d['missing']
print(d) # Outputs: defaultdict(<class 'int'>, {'missing': 0})
- OrderedDict: Una subclase de dict que recuerda el orden en que se agregaron las entradas.
from collections import OrderedDict
d = OrderedDict()
d['a'] = 1
d['b'] = 2
print(d) # Outputs: OrderedDict([('a', 1), ('b', 2)])
- deque: Un contenedor similar a una lista con adiciones y eliminaciones rápidas en ambos extremos.
from collections import deque
d = deque()
d.append('a')
d.append('b')
print(d) # Outputs: deque(['a', 'b'])
- namedtuple: Genera subclases de tuple con campos nombrados.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, y=2)
print(p) # Outputs: Point(x=1, y=2)
5.4 Módulo de Colecciones de Python
El módulo collections
de Python es un gran recurso para desarrolladores que buscan trabajar con diferentes estructuras de datos. Además de las incorporadas, el módulo ofrece una variedad de estructuras de datos especializadas que pueden ayudar a optimizar el rendimiento y simplificar el código.
Por ejemplo, la clase defaultdict
es una subclase de la clase dict
incorporada que inicializa automáticamente las claves faltantes con un valor predeterminado. Otra estructura de datos útil es la clase Counter
, que te permite contar las ocurrencias de elementos en una lista u otro iterable. Al aprovechar estas estructuras de datos adicionales, los desarrolladores pueden escribir un código más eficiente y efectivo.
Aquí tienes una breve introducción:
- Counter: Una subclase de dict para contar objetos hashable.
from collections import Counter
c = Counter('hello world')
print(c) # Outputs: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
- defaultdict: Una subclase de dict que llama a una función de fábrica para suministrar valores faltantes.
from collections import defaultdict
d = defaultdict(int)
d['missing']
print(d) # Outputs: defaultdict(<class 'int'>, {'missing': 0})
- OrderedDict: Una subclase de dict que recuerda el orden en que se agregaron las entradas.
from collections import OrderedDict
d = OrderedDict()
d['a'] = 1
d['b'] = 2
print(d) # Outputs: OrderedDict([('a', 1), ('b', 2)])
- deque: Un contenedor similar a una lista con adiciones y eliminaciones rápidas en ambos extremos.
from collections import deque
d = deque()
d.append('a')
d.append('b')
print(d) # Outputs: deque(['a', 'b'])
- namedtuple: Genera subclases de tuple con campos nombrados.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, y=2)
print(p) # Outputs: Point(x=1, y=2)
5.4 Módulo de Colecciones de Python
El módulo collections
de Python es un gran recurso para desarrolladores que buscan trabajar con diferentes estructuras de datos. Además de las incorporadas, el módulo ofrece una variedad de estructuras de datos especializadas que pueden ayudar a optimizar el rendimiento y simplificar el código.
Por ejemplo, la clase defaultdict
es una subclase de la clase dict
incorporada que inicializa automáticamente las claves faltantes con un valor predeterminado. Otra estructura de datos útil es la clase Counter
, que te permite contar las ocurrencias de elementos en una lista u otro iterable. Al aprovechar estas estructuras de datos adicionales, los desarrolladores pueden escribir un código más eficiente y efectivo.
Aquí tienes una breve introducción:
- Counter: Una subclase de dict para contar objetos hashable.
from collections import Counter
c = Counter('hello world')
print(c) # Outputs: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
- defaultdict: Una subclase de dict que llama a una función de fábrica para suministrar valores faltantes.
from collections import defaultdict
d = defaultdict(int)
d['missing']
print(d) # Outputs: defaultdict(<class 'int'>, {'missing': 0})
- OrderedDict: Una subclase de dict que recuerda el orden en que se agregaron las entradas.
from collections import OrderedDict
d = OrderedDict()
d['a'] = 1
d['b'] = 2
print(d) # Outputs: OrderedDict([('a', 1), ('b', 2)])
- deque: Un contenedor similar a una lista con adiciones y eliminaciones rápidas en ambos extremos.
from collections import deque
d = deque()
d.append('a')
d.append('b')
print(d) # Outputs: deque(['a', 'b'])
- namedtuple: Genera subclases de tuple con campos nombrados.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, y=2)
print(p) # Outputs: Point(x=1, y=2)