Press "Enter" to skip to content

Python 中的集合模块一切都了解

众所周知,Python有其自己的常规数据类型英雄 — 列表、元组、字典和臭名昭著的集合。但与此同时,Python的正义联盟还有一个超人 — 名为Collections的模块。在本文中,我们将深入探讨Collections的世界,了解其使用案例和优势。

Collections

Python中的collections模块实现了一组专门的容器数据类型,提供了替代Python内置数据类型(如列表、元组、集合和字典)的选择。

让我们了解collections模块中每个功能的重要性。

namedTuple

是collections模块中提供的一个简便方式,用于创建一个用于存储结构化数据的类,而无需定义一个完整的类。它们被转换为类,我们可以根据每个标识符的名称而不是索引来访问它们,而不是通过索引访问元组。

namedTuple

在上面的示例中,第2行创建了一个名为Employee的namedTuple,它包含Employee的姓名、ID和年龄。这将创建一个类变量,可用于存储Employee记录。

namedTuple — 2

namedTuple也可以使用索引访问,如第3行所示,它们可以轻松转换为字典,并支持元组解包。

Counter

Counter,顾名思义,用于计算集合(列表、元组和字符串)中元素的出现次数。它返回一个以元素为键,出现次数为值的字典。

Counter

如示例所示,Counter以字典格式返回列表中每个特定元素的出现次数。Counter的most_common(k)方法返回出现次数最多的k个元素。我们还可以执行计数器的加法、减法、交集和并集操作。

deque

通常称为双端队列,是双端队列的缩写形式。它用作优化的列表,可以轻松地从两端插入和删除元素,时间复杂度为O(1)。

deque

如上所示,可以使用append和append-left方法轻松地在两端添加元素。

deque — 2

与列表类似,deque提供了反转、旋转操作以及弹出、弹出左侧方法来从两端删除元素。

ChainMap

用于将多个字典组合成一个单一的视图,而无需复制数据。顾名思义,映射(字典)被组织成一个链,我们可以按照相同的顺序访问和搜索它们。如果一个键在两个字典中都存在,则链中最新的字典始终优先。

ChainMap

defaultdict

用于创建一个具有默认值的字典。字典和defaultdict的区别在于,当我们使用defaultdict并尝试访问一个不存在的键时,它会返回指定的默认值,而不是引发键错误。

with dictionary
defaultdict

OrderedDict

是一个记住元素输入顺序的字典。当我们尝试访问OrderedDict时,它将按照元素插入的顺序返回这些元素。

OrderedDict

UserDict

UserDict在我们希望创建具有自定义行为的字典时非常有用。假设我们想创建一个字典,其中输入的值会自动转换为大写,那么UserDict就能帮助你。

UserDict

对于UserList和UserString也适用相同的规则。

分享colab笔记本:code

快乐学习……

Leave a Reply

Your email address will not be published. Required fields are marked *