Collections UserDict in Python

An unordered collection of data values that are getting used to store data values simillar as a map is known when Dictionary in Python. Unlike other Data Types that hold just a single value when 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 simillar as a container called UserDict present in the collections module. This class acts when 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 when a way of adding new behaviors to the dictionary. This class takes a dictionary instance when an argument and simulates a dictionary that is kept in a regular dictionary. The dictionary is accessible by the data property of this class.

Syntax:

collections.UserDict([initialdata])

Example 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)


Output:

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

Example 2: Let’s create a class inheriting from UserDict to implement a customized dictionary.

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)


Output:

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

Explore More

Python 10 Programs for Beginners

Program 1:Write a program to create a 2D array using NumPy. Output: Program 2: Write a program to convert a python list to a NumPy array. Output: Program 3: Write a program to create matrix of 3×3 from 11 to 30. Output: Program 4: Write a program to create a data frame to store data of candidates who appeared in

Find index of first occurrence when an unsorted array is sorted

Find index of first occurrence when an unsorted an array is sorted Given an unsorted an array and a number x, find an index of first occurrence of x when

Find sum non repeating distinct elements array

Find sum of non-repeating (distinct) elements in an array Given an integer an array with repeated elements, the task is to find the sum of all distinct elements in the