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