gpt4 book ai didi

python - 为什么 str.count ('' ) 和 len(str) 给出不同的输出?

转载 作者:太空狗 更新时间:2023-10-30 01:43:23 26 4
gpt4 key购买 nike

请看下面的代码,请解释为什么 str.count('') 方法和 len(str) 函数给出两个不同的输出。

a=''
print(len(a))
print(a.count(''))

输出:

0
1

最佳答案

str.count() 计算子字符串的非重叠出现次数:

Return the number of non-overlapping occurrences of substring sub.

子串 '' 恰好出现在字符串 '' 中的一个这样的地方:就在开头。所以计数应该返回1

一般来说,空字符串会匹配给定字符串中的所有位置,包括开头和结尾,所以计数应该始终是长度加上1:

>>> (' ' * 100).count('')
101

那是因为空字符串被认为存在于一个字符串的所有字符之间;对于长度为 2 的字符串,有 3 个空字符串;一个在开头,一个在两个字符之间,一个在结尾。

所以是的,结果是不同的,但它们是完全正确的。

关于python - 为什么 str.count ('' ) 和 len(str) 给出不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com