📅  最后修改于: 2020-10-28 01:06:00             🧑  作者: Mango
Python collection模块被定义为用于存储数据收集的容器,例如-列表,字典,集合和元组等。引入该模块是为了改善内置收集容器的功能。
Python collection模块在其2.4版本中首次引入。
collection模块有不同类型,如下所示:
Python namedtuple()函数返回一个类似元组的对象,并为该元组中的每个位置命名。它用于消除记住普通元组中元组对象的每个字段的索引的问题。
例子
pranshu = ('James', 24, 'M')
print(pranshu)
输出:
('James', 24, 'M')
Python OrderedDict()与字典对象相似,在字典对象中,键保持插入顺序。如果我们尝试再次插入密钥,则该密钥的先前值将被覆盖。
例
import collections
d1=collections.OrderedDict()
d1['A']=10
d1['C']=12
d1['B']=11
d1['D']=13
for k,v in d1.items():
print (k,v)
输出:
A 10
C 12
B 11
D 13
Python defaultdict()被定义为类似字典的对象。它是内置dict类的子类。它提供了字典提供的所有方法,但是将第一个参数作为默认数据类型。
例
from collections import defaultdict
number = defaultdict(int)
number['one'] = 1
number['two'] = 2
print(number['three'])
输出:
0
Python计数器是字典对象的子类,可帮助计算可哈希对象。
例
from collections import Counter
c = Counter()
list = [1,2,3,4,5,7,8,5,9,6,10]
Counter(list)
Counter({1:5,2:4})
list = [1,2,4,7,5,1,6,7,6,9,1]
c = Counter(list)
print(c[1])
输出:
3
Python deque()是一个双端队列,它允许我们从两端添加和删除元素。
例
from collections import deque
list = ["x","y","z"]
deq = deque(list)
print(deq)
输出:
deque(['x', 'y', 'z'])
链图类用于将多个字典分组在一起以创建一个列表。链接的字典存储在列表中,它是公共的,可以由map属性访问。考虑以下示例。
例
from collections import ChainMap
baseline = {'Name': 'Peter', 'Age': '14'}
adjustments = {'Age': '14', 'Roll_no': '0012'}
print(list(ChainMap(adjustments, baseline)))
输出:
['Name', 'Age', 'Roll_no' ]
UserDict充当字典对象周围的包装器。可以使用UserDict对象将字典作为属性进行访问。它提供了使用字典的便捷性。
它提供以下属性。
数据-用于存储UserDict类内容的真实字典。
UserList充当列表对象周围的包装器类。当我们想向列表中添加新功能时,这很有用。它提供了使用字典的便捷性。
它提供以下属性。
数据-实际列表用于存储User类的内容。
UserList充当列表对象周围的包装器类。可以使用UserString对象将字典作为属性进行访问。它提供了使用字典的便捷性。
它提供以下属性。
数据-一个真正的str对象用于存储UserString类的内容。