【发布时间】:2018-04-23 04:04:56
【问题描述】:
我知道str.count(sub) 返回子字符串 sub 的出现次数。
但是我遇到了一个我无法理解的奇怪问题。
我的代码如下:
str = 'helloworld'
print(str.count(''))
>>>11
输出令人费解。为什么返回 11?
如果'' 表示任何字母,为什么不返回它的长度(10)?
我还没有找到任何关于这个的答案。
谁能告诉我具体的实现?
【问题讨论】:
-
''不表示任何字母,它表示一个空字符串。'helloworld'中有 11 个空字符串,一个在开头,每对字母之间有 9 个,最后一个。如果您想要长度,请使用len('helloworld')。 -
字符串以空字符串开头,也以 1 结尾——所以总是比字符数多 1。
-
尝试查看 str.count.__doc__
-
认为
"foo"等于"" + "f" + "" + "o" + "" + "o" + "",这在某种意义上是字符串"foo"中包含的最小空字符串数。
标签: python