>>> '12345'.count('')
6
为什么会这样?如果该字符串中只有5个字符,为什么count函数会再返回一个?
此外,是否有更有效的方法来计算字符串中的字符?
答案 0 :(得分:109)
count
返回一个对象在列表中出现的次数,因此如果计算''
的出现次数,则得到6,因为空字符串位于开头,结尾和每个字母之间。
使用len
函数查找字符串的长度。
答案 1 :(得分:28)
那是因为有六个不同的子串是空字符串:在1之前,在数字之间,以及在5之后。
如果您想计算字符,请使用len
代替:
>>> len("12345")
5
答案 2 :(得分:25)
如果你剪了五次琴弦,会得到多少件?
---|---|---|---|---|--- -> 6 pieces
同样的事情发生在这里。它还计算5
之后的空字符串。
len('12345')
是您应该使用的。
答案 3 :(得分:6)
最常见的方法是使用len('12345')
。它返回给定字符串中的字符数 - 在本例中为5。
答案 4 :(得分:1)
答案 5 :(得分:1)
这与''.count('')
返回1
而不是0
的原因相同。