说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 的内置序列都支持 count() 方法,它可以传入一个元素,从而统计这个元素在序列中出现的次数。在有些类型中可选搜索的开始与结束位置。
以下是一些使用方法:
# 字符串
'hello'.count('l')
# 2
'hello'.count('l', 0, 3)
# 1
'hello'.count('l', 2)
# 2
# 列表
list('hello').count('l')
# 2
[1, 1, 2, 3, 5].count(1)
# 2
[1, 1, 2, 3, 5].count(6)
# 0
# 元组
tuple('hello').count('l')
# 2
('a', 'b', 'c').count('a')
# 1
# range
range(3).count(1)
# 1
range(1, 10).count(10)
# 0
# 字节串
b'abcabc'.count(b'a')
# 2
b'abcabc'.count(b'a', 3)
# 1
# bytearray
bytearray(b'abcabc').count(b'a')
# 2
bytearray(b'abcabc').count(b'a', 2, 4)
# 1
要注意辨析下边的操作:
foo = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]
foo.count('a') # 1
foo.count(('a', 'b')) # 2
foo.count([3, 4]) # 1
bar = ['1', 2, '3', 2]
bar.count(1) # 0
bar.count(2) # 2
(1, 11, 111).count(1) # 1
('aa', 'aaa', 'a').count('a') # 1
(True, False, True).count(1) # 2
(True, False, True).count(True) # 2
不同序列类型的 count() 语法:
s.count(x) # 通用语法
str.count(sub[, start[, end]]) # 字符串
list.count(x) # 列表
tuple.count(x) # 元组
range.count(x) # 等差数列
bytes.count(sub[, start[, end]]) # 字节串
bytearray.count(sub[, start[, end]]) # 字节数组
其中,字符串、字节串和字节数组支持可选搜索的开始(包含)与结束索引(不包含)位置,索引是从 0 开始的。也可只给出开始索引位,包含此索引开始右(后)边的所有内容。
要统计的内容可以是一个任意的对象。
要注意的是,迭代器和生成器数据没有进行消费,是无法计数的。
在序列操作中 count() 用于计算序列中指定元素的个数, 也可以知道元素在序列的部分区间内的个数。
如果想知道一个序列里所有元素的个数请使用:Counter 计数器。
如果想知道一个元素是否在序列中请使用 in 操作。
更新时间:2022-05-24 16:17:06 标签:python count 数量 序列