用于存储数据值(如Map)的无序数据值集合称为Python字典。与仅包含单个值作为元素的其他数据类型不同, 字典具有核心价值对。字典中提供了键值以使其更优化。
注意:有关更多信息, 请参阅Python字典
Collections.UserDictPython支持字典就像一个叫做UserDict存在于collections模块。此类充当字典对象周围的包装器类。当一个人想要创建自己的具有某些修改功能或某些新功能的字典时, 此类非常有用。它可以被视为为字典添加新行为的一种方式。此类将字典实例作为参数, 并模拟保存在常规字典中的字典。该类的data属性可访问该词典。
语法如下:
collections.UserDict([initialdata])
范例1:
# Python program to demonstrate
# userdictfrom collections import UserDictd = { 'a' : 1 , 'b' : 2 , 'c' : 3 }# Creating an UserDict
userD = UserDict(d)
print (userD.data)# Creating an empty UserDict
userD = UserDict()
print (userD.data)
输出如下:
{'a': 1, 'b': 2, 'c': 3}
{}
范例2:让我们创建一个从UserDict继承的类, 以实现自定义词典。
# Python program to demonstrate
# userdictfrom collections import UserDict# Creating a Dictionary where
# deletion is not allowed
class MyDict(UserDict):# Function to stop deleltion
# 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 )
输出如下:
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
【Python如何使用Collections.UserDict(代码示例)】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- CSS高级布局(Flexbox布局完全指南)
- 算法设计(将第一个元素加倍,然后将零移动到结尾)
- Python程序如何实现在列表中查找第二大数字()
- PHP如何使用Ds\Sequence apply()函数(示例)
- PHP如何使用DS\Map clear()函数(用法示例)
- 算法设计(如何实现CamelCase模式匹配(代码示例))
- 如何反向一个整数的位数((包括溢出处理))
- Win8.1桌面与任务栏总是自动刷新怎样处理?
- Win8.1无法升级Win10出错80240020怎样处理?