【发布时间】:2018-05-08 14:17:36
【问题描述】:
这很短,但很烦人。我知道我可以计算一个字符串在另一个字符串中出现的次数,如下所示:
'banana'.count('a')
>>>3
表示banana 包含字母"a" 3 次。
这就是它变得有点奇怪的地方。
我的第一个困惑是 - 当我执行 'foo'.count('') 时,Python 会寻找什么?
是'' == 无 == 什么?
似乎并非如此,但话说回来,从逻辑上讲,'' 是什么?更重要的是,为什么
'test'.count('')
>>>5
返回比字符串的长度多一?
一个总是比字母数量高 1 的字符串到底包含什么?虚无?
编辑:' 字符两次看起来像一个" 字符。我这里讲了两次',避免混淆
EDIT2:'' 的数量似乎有些混乱。参考下面的cmets。
【问题讨论】:
-
因为
''.count('')返回一个 im 假设它实际上什么都不搜索。 -
它总是返回 len(string)+1,这只是开发人员做出的决定,你可以为其他值(如无穷大)做一个案例,某处有一个欺骗
-
您可以看到 s.count('') 计算字符串中的字母间空格数,即解析正则表达式时使用的空格数。
-
其他解释见here
-
@FlyingThunder 请接受另一个答案,这样我就可以删除这个-_-