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

Create new Python Virtual environment

Create a new virtual environment  Python 3 allows you to manage separate package installations for different projects. It creates a “virtual” isolated Python installation. When you switch projects, you can

What are Large Language Models

LLM stands for Large Language Model in the context of artificial intelligence. It refers to a type of AI model designed to understand, generate, and manipulate human language on a