gpt4 book ai didi

python - 为什么 "test".count ('' ) 返回 5?

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:17 24 4
gpt4 key购买 nike

虽然很短,但很令人恼火。我知道我可以计算一个字符串在另一个字符串中出现的次数,如下所示:

'banana'.count('a')
>>>3

意思是banana包含字母 "a" 3次。

这就是事情变得有点奇怪的地方。

我的第一个困惑是 - 当我这样做时 'foo'.count('') ,Python 寻找什么?

'' ==没有==什么?

情况似乎并非如此,但话又说回来,'' 是什么?从逻辑上讲?更重要的是,为什么

'test'.count('')
>>>5

返回比字符串长度多1的内容?

总是比字母数量高 1 的字符串到底包含什么?虚空?

编辑:'字符两次看起来像一个 "特点。我说的是两次'在这里,为了避免混淆

EDIT2:对于 '' 的数量似乎有些困惑。发生。请参阅下面的评论。

最佳答案

每个字符串1都可以被认为是:

any_string = "" + "".join(any_string) + ""

其中恰好包含 ''len(any_string) + 1 个实例。

<小时/>

例如,对于“foo”,它将是:

"" + "f" + "" + "o" + "" + "o"+ ""
# |----- from join -------|

可以看出,其中有 4"" 实例。

<小时/>

但请注意,这是一个没有答案或所有答案都可以以某种方式支持其自身情况的问题。它具有哲学意义:

  • 虚无中包含多少虚无?
  • 某物中包含多少虚无?

这个答案试图解释Python使用的约定,并不意味着这是所有语言都应该这样做的方式; Python 就是这么做的。

<小时/>

1空字符串是一个异常(exception),其处理方式有所不同;他们只是返回1;这是另一个约定。

关于python - 为什么 "test".count ('' ) 返回 5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52469667/

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