为什么'12345'.count('')返回6而不是5?

>>> '12345'.count('') 6 

为什么会这样呢? 如果该string中只有5个字符,为什么计数函数返回一个?

另外,有没有一个更有效的方法来计算string中的字符?

count返回一个对象在一个列表中出现的次数,所以如果你计算出现''你得到6,因为空string在开始,结束和每个字母之间。

使用len函数来查找string的长度。

这是因为有六个不同的子string是空string:在1之前,在数字之间,在5之后。

如果你想数字字符使用len而不是:

 >>> len("12345") 5 

如果你切了一根弦五次,你会得到多less块?

 ---|---|---|---|---|--- -> 6 pieces 

同样的事情发生在这里。 它也计算了5之后的空string。

len('12345')是你应该使用的。

最常用的方法是使用len('12345') 。 它返回给定string中的字符数 – 在本例中为5。

Count和Len是两个完全不同的东西。 Len只打印string的长度(因此命名为“Len”),而Count遍历string或列表,并给出对象出现的次数,该次数计算string的开始和结束以及之间每封信。

''.count('')返回1而不是0