Python 中的 Counter | 如何初始化和更新3 Dec 2024 | 6 分钟阅读 在本教程中,我们将讨论 collections 模块中包含的 Counter。我们还将解释如何使用它来解决问题。首先,让我们对 Counter 进行简要介绍。 什么是 Counter?在 Python 中,Counter 是 collections 模块中的一个类,用于计算可迭代对象(如列表或字符串)中元素的出现次数。它提供了一种创建元素频率图的便捷方法,并且类似于字典但针对计数进行了优化。 每个元素都存储为键,其计数存储为相应的值。如果一个元素出现多次,其计数会相应增加。Counter 会自动将缺失的元素初始化为零,这使得在无需手动检查键是否存在的情况下进行计数变得理想。 语法 初始化我们可以通过以下任一方式调用 counter 的构造函数
为什么我们使用 Counter?以下是使用 Python 程序中的 Counter 的主要原因。
Counter 的实现Python 以列表、字典、元组、字符串等可迭代对象作为参数,并返回每个元素的计数。 考虑以下包含多个元素的列表。 List1 = [a, b, a, a, c, d, e, c, d, f] 列表中有重复的元素。我们将使用计数来显示这些元素出现的次数。让我们看下面的例子。 示例 - 1 输出 Counter({'a': 3, 'c': 2, 'd': 2, 'b': 1, 'e': 1, 'f': 1}) 所以我们有 a 的计数为 3,b 为 1,e 为 1,c 为 2,f 为 1。 示例 - 2 输出 Counter({'X': 4, 'Y': 4, 'Z': 2}) Counter({'X': 5, 'Z': 4, 'Y': 2}) Counter({'B': 5, 'A': 3, 'C': 2}) 更新 Countercollections 模块提供了 update() 方法,允许我们更新或添加值。语法如下: 让我们理解下面的例子。 示例 - 输出 Counter({'o': 4, ' ': 3, 't': 3, 'a': 3, 'e': 2, 'l': 2, 'T': 2, 'i': 2, 'W': 1, 'c': 1, 'm': 1, 'J': 1, 'v': 1, 'p': 1, 'n': 1, 'u': 1, 'r': 1, 's': 1, '!': 1}) 访问 Counter我们可以访问 Counter 中的值。让我们理解下面的例子。 示例 - 输出 u : 2 T : 2 u : 1 t : 3 o : 4 r : 1 i : 2 a : 3 l : 2 s : 1 从 Counter 中删除元素del 关键字用于从 counter 中删除元素。让我们理解下面的例子。 示例 - 输出 Dictionary After Deletion: Counter({'a': 3, 'b': 1}) 在 Python Counter 上执行算术运算如上所述,我们可以执行各种算术运算,如加法、减法、交集和并集。让我们理解下面的例子。 示例 - 输出 Counter({'b': 11, 'c': 11, 'd': 7, 'a': 5}) Counter({'a1': 10, 'd': 7, 'a': 5}) Counter({'b': 1}) Counter({'c': 14, 'b': 10, 'd': 7, 'a': 5}) 带字符串的 Counter正如我们所知,Python 中的一切都是对象,所以字符串也是对象。字符串是用双引号括起来的字符。Python 没有字符类型。 在下面的例子中,我们将字符串传递给 Counter,它将返回一个键/值对的字符字典。键是元素,值是计数。 示例 - 输出 Counter({'o': 4, ' ': 3, 't': 3, 'a': 3, 'e': 2, 'l': 2, 'T': 2, 'i': 2, 'W': 1, 'c': 1, 'm': 1, 'J': 1, 'v': 1, 'p': 1, 'n': 1, 'u': 1, 'r': 1}) 带字典的 Counter字典在花括号内定义的键值对中存储元素。当我们把字典传给 Counter 时,它会返回一个哈希表对象元素。元素将成为键,值将作为给定字典中的元素进行计数。 让我们理解下面的例子。 示例 - 输出 Counter({'b': 6, 'a': 5, 'c': 2}) 带元组的 Counter元组是不可变的结构,其中元素用逗号分隔并存储在圆括号内。元组被转换为哈希表对象。Counter 将提供给定元组中每个元素的计数。元素将成为键,值将作为给定字典中的元素进行计数。 让我们理解下面的例子。 示例 - 输出 Counter({'x': 4, 'y': 2, 'z': 2}) Python Counter 中的一些重要方法以下是一些常用的 Counter 方法。
示例 - 输出 a a a a a b b
示例 - 输出 [('a', 5), ('b', 2)] [('a', 5), ('b', 2), ('d', 0), ('c', -2)]
示例 - 输出 Counter({'z': 7, 'x': 2, 'y': -2}) 结论在本教程中,我们涵盖了 Python Counter 的几乎所有重要概念。Counter 是一种容器,它存储容器中每个可用元素的计数。Counter 允许我们对可迭代列表中的项进行计数,我们也可以将其用于其他可迭代对象。 |
在 pandas 中,一种称为 series 的列表类型可以包含数字、字符串、双精度和其他类型的数据。相反,Pandas Series 返回一个对象作为列表,其中 n 是 series 数据的长度,索引从 0 到 n....
阅读 6 分钟
在从程序打印数据时,我们遇到了以标准格式打印数据集的问题。输出中打印的数据没有明确的格式,这使得数据看起来杂乱无章。此外,这也使我们难以查找特定...
阅读 13 分钟
Python 中的 'and' 与 '&' 在以下教程中,我们将了解 Python 编程语言中 'and' 与 '&' 之间的区别。理解 Python 中 'and' 与 '&' 之间的区别 这些是我们用于 Python 的一些运算符;但是,有一个根本的区别...
阅读 3 分钟
极其用户友好的 Python 语言唯一的缺点是它的速度慢。它比 C、C++ 和 Java 慢得多。在线编程平台,如果 C/C++ 的限制是 X。通常,Python 提供的时间是 Java 的 5 倍。语言提供各种输入和...
阅读 6 分钟
Python Arrow 是一个用于处理日期、时间和时间戳的库。它允许您轻松地操作、格式化和对日期和时间进行计算。该库基于其他编程语言中的 Arrow 库,并提供了类似的 API。其中一个...
阅读 2 分钟
切比雪夫多项式是正交多项式家族,用于数学的各个分支,例如信号处理、数值分析和近似理论。切比雪夫多项式可用于使用切比雪夫级数近似函数。切比雪夫级数是切比雪夫多项式的集合...
阅读 3 分钟
Amazon PI (Performance Intelligence) 是亚马逊网络服务 (AWS) 开发的一款工具,旨在帮助客户监控和优化其在 AWS 平台上的应用程序性能。借助 Amazon PI,用户可以轻松识别性能瓶颈、排查问题,并做出明智的决策以改进...
阅读 6 分钟
在这个问题中,我们将得到两个已排序的数组。我们的任务是合并这两个给定的数组。然而,限制是,我们必须在不使用任何额外空间的情况下合并它们。因此,在对数组进行排序后,初始元素将位于...
阅读20分钟
Python 列表推导式与生成器表达式 在本教程中,我们将讨论列表推导式和生成器表达式之间的一些重要区别。两者在语法上非常相似,但它们有一些显著的差异。让我们简要介绍一下列表推导式和生成器表达式。什么是列表推导式?列表...
阅读 4 分钟
Python项目(高级)教程旨在扩展和放大您成为世界上最成功人士的雄心壮志。Python是一种编程语言,在大多数情况下,它使用起来非常简单,可以更快、更有效地完成任务。Python...
阅读 23 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India