Python 计数器
Python计数器是一个容器,将保存容器中存在的每个元素的计数。计数器是词典类中可用的子类。
计数器是词典类中可用的子类。使用Python计数器工具,您可以计算对象(也称为哈希表对象)中的键/值对。
Counter
计数器将数据保存在无序集合中,就像哈希表对象一样。此处的元素将键和计数表示为值;
它允许您计算可迭代列表中的项目;
可以轻松地在Counter上执行算术运算(例如加法,减法,相交和联合);
一个Counter也可以计算另一个Counter中的元素。
简介
Python Counter接受输入列表,元组,字典,字符串,这些都是可迭代的对象,并且它将为您提供输出,其中包含每个元素的计数。
语法:
Counter(list)
考虑您有以下list:
list1 = ['x','y','z','x','x','x','y', 'z']
该列表包含元素x,y和z。当您在此列表上使用Counter时,它将计算存在x,y和z的次数。如果在list1上使用counter,则输出应类似于:
Counter({'x': 4, 'y': 2, 'z': 2})
因此,我们将x的计数设为4,将y的计数设为2,将z的计数设为2。
要使用Counter,我们需要首先将其导入,如下面的示例所示:
from collections import Counter
这是一个简单的示例,显示了Counter模块的工作方式。
from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))
Output:
Counter({'x': 4, 'y': 2, 'z': 2})
字符串
在Python中,一切都是对象,字符串也是对象。Python字符串可以简单地通过将字符括在双引号中来创建。Python不支持字符类型。这些被视为长度为一的字符串,也被视为子字符串。
在下面的示例中,一个字符串被传递给Counter。它返回字典格式,带有键/值对,其中键是元素,值是计数。它还将空格视为元素,并给出字符串中空格的数量。
Example:
from collections import Counter
my_str = "Welcome to icfedu.cn"
print(Counter(my_str))
Output:
Counter({'e': 3, 'c': 3, 'o': 2, ' ': 2, 'W': 1, 'l': 1, 'm': 1, 't': 1, 'i': 1, 'f': 1, 'd': 1, 'u': 1, '.': 1, 'n': 1})
字典
字典具有作为键/值对的元素,并且将它们写在大括号内。
将字典提供给计数器后,它将转换为哈希表对象,其中的元素将成为键,而值将是给定字典中元素的计数。
例如:{‘x’:4,’y’:2,’z’:2,’z’:2}。计数器功能将尝试查找给定词典中每个键的计数。
from collections import Counter
dict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}
print(Counter(dict1))
Output:
Counter({'x': 4, 'y': 2, 'z': 2})
方法
Counter有一些重要的方法,下面是相同的列表:
elements():此方法将返回所有count> 0的元素。计数为0或-1的元素将不返回;
most_common(value):此方法用来获取最大的n个数,value不传表示获取所有;
subtract():此方法用于从另一个Counter 中做减法运算;
update(): 更新的关键字已存在,则对它的值进行求和;如果不存在,则添加。
示例 elements()
from collections import Counter
counter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})
_elements = counter1.elements() # 获取大于0的元素
for a in _elements:
print(a)
Output:
x
x
x
x
x
y
y
概况
计数器是一个容器,它将保存容器中存在的每个元素的计数。
计数器是词典类中可用的子类。
使用Python计数器工具,您可以计算对象(也称为哈希表对象)中的键/值对。
计数器将数据保存在无序集合中,就像哈希表对象一样。此处的元素将键和计数表示为值。
它允许您计算可迭代列表中的项目。
可以轻松地在Counter上执行算术运算(例如加法,减法)。
计数器还可以对另一个计数器中的元素进行计数。
计数器上可用的重要方法是elements(),most_common(value),sutract()和update()。
计数器可用于字符串,列表,字典和元组。
原作者:图图
领取专属 10元无门槛券
私享最新 技术干货