gpt4 book ai didi

python - 在 Python 中查找字符串中最长运行的从零开始的索引的函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:19 24 4
gpt4 key购买 nike

我正在尝试编写一个函数来查找字符串中最长运行的从零开始的索引。如果有多个相同长度的运行,代码应返回第一个运行的索引。

a=["a","b","b","c","c","c","d","d","d","d","c","c","c","b","b","a"]

def longestrun(myList):
result = None
prev = None
size = 0
max_size = 0


for i in myList:
if i == prev:
print (i)
size += 1
if size > max_size:
print ('******* '+ str(max_size))
max_size = size
else:
size = 0
prev = i
print (max_size+1)
return max_size+1


longestrun(a)

我做了一些研究,发现这段代码我认为可以用来在我的列表中找到最长的运行,但我不知道如何使用它来找到最长运行中第一个字母的索引。任何人都可以帮助我或给我一些关于如何做到这一点的建议吗?总的来说,程序运行时的输出应该产生数字 6,因为第一个 'd' 在索引 6 处,并且是运行时间最长的。

请注意,我是初学者,所以如果答案尽可能简单并加以解释,我们将不胜感激。

最佳答案

这应该没问题:

def longestrun(myList):
prev = None
size = 0
max_size = 0
curr_pos = 0
max_pos = 0

for (index, i) in enumerate(myList):
if i == prev:
size += 1
if size > max_size:
max_size = size
max_pos = curr_pos
else:
size = 0
curr_pos = index
prev = i
return max_pos

关于python - 在 Python 中查找字符串中最长运行的从零开始的索引的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28673073/

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