Python Collection 模块
Python collection 模块被定义为一种容器,用于存储数据的集合,例如- 列表,字典,集合和元组等。它被引入以提升内置集合容器的功能。
Python collection 模块在其2.4版本中首次引入。
有不同类型的集合模块,如下所示:
命名元组(namedtuple())
Python namedtuple() 函数返回一个类似元组的对象,并为元组中的每个位置指定名称。它被用于解决在普通元组中需要记住每个字段索引的问题。
示例
pranshu = ('James', 24, 'M')
print(pranshu)
输出:
('James', 24, 'M')
OrderedDict()
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
defaultdict()
Python的defaultdict()被定义为类似字典的对象。它是内置dict类的子类。它提供了字典提供的所有方法,但将第一个参数视为默认数据类型。
示例
from collections import defaultdict
number = defaultdict(int)
number['one'] = 1
number['two'] = 2
print(number['three'])
输出:
0
Counter()
Python的Counter是字典对象的子类,可帮助计算可散列对象的数量。
示例
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
deque()
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 对象作为属性来访问字典。它提供了与字典一起工作的便利性。
它提供以下属性。
data - 用于存储 UserDict 类的内容的实际字典。
UserList 对象
UserList 表现为列表对象的包装类。当我们想要为列表添加新功能时,它非常有用。它提供了与字典一起工作的便利性。
它提供以下属性。
data - 用于存储 User 类的内容的实际列表。
UserString 对象
UserList 表现为列表对象的包装类。可以通过使用 UserString 对象作为属性来访问字典。它提供了与字典一起工作的便利性。
它提供以下属性。
data - 用于存储 UserString 类的内容的实际 str 对象。