gpt4 book ai didi

python - 找出最长重复字母的位置

转载 作者:行者123 更新时间:2023-11-28 22:30:38 26 4
gpt4 key购买 nike

我有一个包含字母的文件。我需要找到最长重复字母的位置。例如,如果文件包含 aaassddddffccsdddfgssfrsfspppppppppppddsfs,我需要一个程序来找到 ppppppppppp 的位置。我知道我需要使用 .index 函数来查找位置,但是我陷入了循环。

最佳答案

使用 itertools.groupby :

import itertools

mystr = 'aaassdddffccsdddfgssfrsfspppppppppppddsfs'

idx = 0
maxidx, maxlen = 0, 0
for _, group in itertools.groupby(mystr):
grouplen = sum(1 for _ in group)
if grouplen > maxlen:
maxidx, maxlen = idx, grouplen
idx += grouplen

给出idx和最长相同子串的长度:

>>> print(maxidx, maxlen)
25, 11

>>> mystr[25:25+11]
'ppppppppppp'

关于python - 找出最长重复字母的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42060337/

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