Collections.UserList in Python

Course Curriculum

Collections.UserList in Python

Collections.UserList in Python

Python Lists are array-like data structure but unlike it can be homogenous. A single list may contain DataTypes like Integers, Strings, as well as Objects. List in Python are ordered and have a definite count. The elements in a list are indexed according to a definite sequence and the indexing of a list is done with 0 being the first index.

Note: For more information, refer to Python List

Collections.UserList

Python supports a List like a container called UserList present in the collections module. This class acts as 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 as a way of adding new behaviors for the list. This class takes a list instance as an argument and simulates a list that is kept in a regular list. The list is accessible by the data attribute of the this class.

Syntax:

collections.UserList([list])
Example 1:

# 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]
[]
Example 2:

# Python program to demonstrate
# userlist

from collections import UserList

# Creating a List where
# deletion is not allowed
class MyList(UserList):

# Function to stop deleltion
# 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)

# Deliting 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

(Next Lesson) Python – Environment Setup