Collections.UserList in Python
Note: For more information, refer to Python List
Collections.UserList
Python supports a List similar as a container called UserList present in the collections module. This class acts when a wrapper class around the List objects. This class is useful when one wants to create a list of their own with some modified functionality or with some new functionality. It can be considered when a way of adding new behaviors for the list. This class takes a list instance when an argument and simulates a list that is kept in a regular list. The list is accessible by the data property of this class.
Syntax:
collections.UserList([list])
Example 1:
Python3
# Python program to demonstrate # userlist from collections import UserList L = [ 1 , 2 , 3 , 4 ] # Creating a userlist userL = UserList(L) print (userL.data) # Creating empty userlist userL = UserList() print (userL.data) |
Output:
[1, 2, 3, 4] []
The time complexity of this Python program is O(n), where n is the length of the input list L.
The auxiliary space has used by this program is O(n), where n is the length of the input list L.
Python3
# Python program to demonstrate # userlist  from collections import UserList  # Creating a List where # deletion is not allowed class MyList(UserList):         # Function to stop deletion     # from List     def remove( self , s = None ):         raise RuntimeError( "Deletion not allowed" )             # Function to stop pop from     # List     def pop( self , s = None ):         raise RuntimeError( "Deletion not allowed" )     # Driver's code L = MyList([ 1 , 2 , 3 , 4 ]) print ( "Original List" ) # Inserting to List" L.append( 5 ) print ( "After Insertion" ) print (L) # Deleting From List L.remove() |
Output:
Original List After Insertion [1, 2, 3, 4, 5]
Traceback (most recent call last): File "/home/9399c9e865a7493dce58e88571472d23.py", line 33, in L.remove() File "/home/9399c9e865a7493dce58e88571472d23.py", line 15, in remove raise RuntimeError("Deletion not allowed") RuntimeError: Deletion not allowed