小编典典

为什么str.count('')和len(str)给出不同的输出?

python

查看以下代码,并请解释为什么该str.count('')方法和len(str)函数给出两个不同的输出。

a=''
print(len(a))
print(a.count(''))

输出:

0
1

阅读 285

收藏
2020-12-20

共1个答案

小编典典

str.count() 计算子字符串的非重叠出现次数:

返回substring sub 的不重叠出现的次数。

在字符串中恰好有一个这样的子字符串''出现的位置'':就在开头。因此计数 应该 返回1

一般来说,空字符串将匹配给定字符串中的 所有位置 ,包括开始和结束处的正确 位置 ,因此计数应 始终 为长度加1:

>>> (' ' * 100).count('')
101

这是因为空字符串被认为存在于字符串的所有字符之间。对于字符串长度2,有3个空字符串;开头是一个,两个字符之间是一个,结尾是一个。

是的,结果是不同的,而且它们是完全正确的。

2020-12-20