Python - AI 助手

Python collections.UserList



Python 的 **UserList** 是 **collections** 模块中类似列表的容器。这个类充当列表对象的包装器类。当想要创建具有某些修改后的功能或某些新功能的自己的列表时,它非常有用。可以将其视为为列表添加新功能的一种方法。

UserList() 接受列表实例作为参数,并模拟保存在常规列表中的列表。可以通过此类的 data 属性访问该列表。

语法

以下是 Python **UserList** 类的语法:

collections.UserList(data)

参数

此类接受列表作为参数。

返回值

此类返回 **<class 'collections.UserList'>** 对象。

示例

以下是 Python **UserList()** 的基本示例:

# Python program to demonstrate
# userlist
from collections import UserList
List1 = [10, 20, 30, 40]
# Creating a userlist
userlist = UserList(List1)
print(userlist.data)

以上代码的输出如下:

[10, 20, 30, 40]

继承 UserList

我们可以将 **UserList** 的属性继承到另一个类中,并可以修改功能,并向类中添加新方法。

示例

在下面的示例中,我们继承了 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
list = MyList([11, 21, 31, 41])
print("Original List :",list)
# Inserting to List"
list.append(5)
print("After Insertion :", list)
# Deleting From List
list.remove()

以上代码的输出如下:

Original List : [11, 21, 31, 41]
After Insertion : [11, 21, 31, 41, 5]
Traceback (most recent call last):
  File "/home/cg/root/88942/main.py", line 23, in <module>
    list.remove()
  File "/home/cg/root/88942/main.py", line 9, in remove
    raise RuntimeError("Deletion not allowed")
RuntimeError: Deletion not allowed
python_modules.htm
广告