为什么 '12345'.count('') return 是 6 而不是 5?
Why does '12345'.count('') return 6 and not 5?
>>> '12345'.count('')
6
为什么会这样?如果该字符串中只有 5 个字符,为什么计数函数会多返回一个字符?
此外,有没有更有效的方法来计算字符串中的字符数?
那是因为有六个不同的子串是空串:1之前,数字之间,5之后。
如果要计算字符数,请改用 len
:
>>> len("12345")
5
一根绳子剪五次能得到多少片?
---|---|---|---|---|--- -> 6 pieces
这里也发生了同样的事情。它也计算 5
之后的空字符串。
len('12345')
是你应该使用的。
最常用的方法是使用len('12345')
。它 returns 给定字符串中的字符数 - 在本例中为 5.
count
returns 对象在列表中出现的次数,因此如果计算 ''
的出现次数,您会得到 6 次,因为空字符串位于开头、结尾、以及每个字母之间。
使用 len
函数求出字符串的长度。
Count 和 Len 是两个截然不同的东西。 Len 只是打印字符串的长度(因此得名 'Len'),而 Count 遍历字符串或列表并给出对象出现的次数,它计算字符串的开头和结尾以及在每个字母之间。
这与 ''.count('')
到 return 1
而不是 0
有意义的原因相同。
>>> '12345'.count('')
6
为什么会这样?如果该字符串中只有 5 个字符,为什么计数函数会多返回一个字符?
此外,有没有更有效的方法来计算字符串中的字符数?
那是因为有六个不同的子串是空串:1之前,数字之间,5之后。
如果要计算字符数,请改用 len
:
>>> len("12345")
5
一根绳子剪五次能得到多少片?
---|---|---|---|---|--- -> 6 pieces
这里也发生了同样的事情。它也计算 5
之后的空字符串。
len('12345')
是你应该使用的。
最常用的方法是使用len('12345')
。它 returns 给定字符串中的字符数 - 在本例中为 5.
count
returns 对象在列表中出现的次数,因此如果计算 ''
的出现次数,您会得到 6 次,因为空字符串位于开头、结尾、以及每个字母之间。
使用 len
函数求出字符串的长度。
Count 和 Len 是两个截然不同的东西。 Len 只是打印字符串的长度(因此得名 'Len'),而 Count 遍历字符串或列表并给出对象出现的次数,它计算字符串的开头和结尾以及在每个字母之间。
这与 ''.count('')
到 return 1
而不是 0
有意义的原因相同。