如何在python中找到字符串的最大出现次数?例如,字符串s为:
s="**hellohellohello**applefruitcat**hellohello**lionlizard**hellohellohellohello**"我正在寻找连续" hello“的最大数目,因为hello连续出现的最大次数是4
我想了一个代码来测试find函数,令人惊讶的是,它给出了4,这是连续出现的最大次数,我还尝试了不同的字符串,它给出了正确的最大值。我不明白的是,如果没有使用max函数,它是如何返回最大出现次数的?我以为它会返回找到hello的次数。
代码如下:
for i in range(len(s)):
if s.find('hello' * i) != -1:
x = i发布于 2020-12-01 16:59:22
这段代码循环遍历连续连接的"hello“,它首先检查字符串中是否有”hello“,然后是"hellohello",依此类推,直到失败。存在的最长序列是连续“hello”的最大数量。
发布于 2020-12-01 17:09:12
代码循环遍历字符串的长度,试图找到'hello‘,然后是'hellohello’,依此类推。如果发现有这么多重复,它会将x设置为i的当前值。
在你的例子中,它仍然会搜索'hello'*5和'hello'*6,但不会在字符串中找到它,因此x是它实际能找到的最后一个i的值。
一个稍微好一点的版本是:
for i in range(len(s)/len('hello')):
if s.find('hello' * i) != -1:
x = ihttps://stackoverflow.com/questions/65087381
复制相似问题