Colecciones.UserDict en Python

Una colección desordenada de valores de datos que se utilizan para almacenar valores de datos como un mapa se conoce como Diccionario en Python . A diferencia de otros tipos de datos que contienen un solo valor como elemento, Dictionary contiene un par clave:valor. El valor-clave se proporciona en el diccionario para hacerlo más optimizado.

Nota: Para obtener más información, consulte Diccionario de Python

Colecciones.UserDict

Python admite un diccionario como un contenedor llamado UserDict presente en el módulo de colecciones . Esta clase actúa como una clase contenedora de los objetos del diccionario. Esta clase es útil cuando se quiere crear un diccionario propio con alguna funcionalidad modificada o con alguna funcionalidad nueva. Se puede considerar como una forma de agregar nuevos comportamientos al diccionario. Esta clase toma una instancia de diccionario como argumento y simula un diccionario que se mantiene en un diccionario normal. El diccionario es accesible por el atributo de datos de esta clase.

Sintaxis: 

collections.UserDict([initialdata])

Ejemplo 1:

Python3

# Python program to demonstrate
# userdict
 
 
from collections import UserDict
 
 
d = {'a':1,
    'b': 2,
    'c': 3}
 
# Creating an UserDict
userD = UserDict(d)
print(userD.data)
 
 
# Creating an empty UserDict
userD = UserDict()
print(userD.data)

Producción:

{'a': 1, 'b': 2, 'c': 3}
{}

Ejemplo 2: Vamos a crear una clase heredada de UserDict para implementar un diccionario personalizado.

Python3

# Python program to demonstrate
# userdict
  
 
from collections import UserDict
  
 
# Creating a Dictionary where
# deletion is not allowed
class MyDict(UserDict):
     
    # Function to stop deletion
    # from dictionary
    def __del__(self):
        raise RuntimeError("Deletion not allowed")
         
    # Function to stop pop from
    # dictionary
    def pop(self, s = None):
        raise RuntimeError("Deletion not allowed")
         
    # Function to stop popitem
    # from Dictionary
    def popitem(self, s = None):
        raise RuntimeError("Deletion not allowed")
     
# Driver's code
d = MyDict({'a':1,
    'b': 2,
    'c': 3})
 
print("Original Dictionary")
print(d)
 
d.pop(1)

Producción:

Original Dictionary
{'a': 1, 'c': 3, 'b': 2}
Traceback (most recent call last):
  File "/home/3ce2f334f5d25a3e24d10d567c705ce6.py", line 35, in 
    d.pop(1)
  File "/home/3ce2f334f5d25a3e24d10d567c705ce6.py", line 20, in pop
    raise RuntimeError("Deletion not allowed")
RuntimeError: Deletion not allowed
Exception ignored in: 
Traceback (most recent call last):
  File "/home/3ce2f334f5d25a3e24d10d567c705ce6.py", line 15, in __del__
RuntimeError: Deletion not allowed

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 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 *