首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算字符串在Python中连续出现的最高次数

问计算字符串在Python中连续出现的最高次数
EN

Stack Overflow用户
提问于 2020-12-01 16:56:45
回答 2查看 235关注 0票数 0

如何在python中找到字符串的最大出现次数?例如,字符串s为:

代码语言:javascript
复制
s="**hellohellohello**applefruitcat**hellohello**lionlizard**hellohellohellohello**"

我正在寻找连续" hello“的最大数目,因为hello连续出现的最大次数是4

我想了一个代码来测试find函数,令人惊讶的是,它给出了4,这是连续出现的最大次数,我还尝试了不同的字符串,它给出了正确的最大值。我不明白的是,如果没有使用max函数,它是如何返回最大出现次数的?我以为它会返回找到hello的次数。

代码如下:

代码语言:javascript
复制
for i in range(len(s)):
if s.find('hello' * i) != -1:
    x = i
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-01 16:59:22

这段代码循环遍历连续连接的"hello“,它首先检查字符串中是否有”hello“,然后是"hellohello",依此类推,直到失败。存在的最长序列是连续“hello”的最大数量。

票数 1
EN

Stack Overflow用户

发布于 2020-12-01 17:09:12

代码循环遍历字符串的长度,试图找到'hello‘,然后是'hellohello’,依此类推。如果发现有这么多重复,它会将x设置为i的当前值。

在你的例子中,它仍然会搜索'hello'*5和'hello'*6,但不会在字符串中找到它,因此x是它实际能找到的最后一个i的值。

一个稍微好一点的版本是:

代码语言:javascript
复制
for i in range(len(s)/len('hello')):
  if s.find('hello' * i) != -1:
    x = i
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65087381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档