An unordered collection of data value that is used to store data values like a map is known as Dictionary in Python. Unlike other Data Types that hold only single value as an element, Dictionary holds key:value pair. Key-value is provided in the dictionary to make it more optimized.
Note: For more information, refer to Python Dictionary
Collections.UserDict
Python supports a dictionary like a container called UserDict present in the collections module. This class acts as a wrapper class around the dictionary objects. This class is useful when one wants to create a dictionary of their own with some modified functionality or with some new functionality. It can be considered as a way of adding new behaviors for the dictionary. This class takes a dictionary instance as an argument and simulates a dictionary that is kept in a regular dictionary. The dictionary is accessible by the data attribute of this class.
Syntax:
collections.UserDict([initialdata])
Example 1:
# 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) |
Output:
{'a': 1, 'b': 2, 'c': 3}
{}
Example 2: Let’s create a class inherting from UserDict to implement a customised dictionary.
# Python program to demonstrate # userdict from collections import UserDict # Creating a Dictionary where # deletion is not allowed class MyDict(UserDict): # Function to stop deleltion # 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) |
Output:
Original Dictionary
{'a': 1, 'c': 3, 'b': 2}
Traceback (most recent call last): File "/home/3ce2f334f5d25a3e24d10d567c705ce6.py", line 35, ind.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
Recommended Posts:
- Important differences between Python 2.x and Python 3.x with examples
- Python | Set 4 (Dictionary, Keywords in Python)
- Python | Sort Python Dictionaries by Key or Value
- Python | Merge Python key values to list
- Reading Python File-Like Objects from C | Python
- Python | Add Logging to a Python Script
- Python | Add Logging to Python Libraries
- JavaScript vs Python : Can Python Overtop JavaScript by 2020?
- Python | Visualizing O(n) using Python
- Python | Index of Non-Zero elements in Python list
- Python | Convert list to Python array
- MySQL-Connector-Python module in Python
- Python - Read blob object in python using wand library
- Python | PRAW - Python Reddit API Wrapper
- twitter-text-python (ttp) module - Python
- Reusable piece of python functionality for wrapping arbitrary blocks of code : Python Context Managers
- Python program to check if the list contains three consecutive common numbers in Python
- Creating and updating PowerPoint Presentations in Python using python - pptx
- How to write an empty function in Python - pass statement?
- Operator Functions in Python | Set 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

