python数组索引未定义

时间:2019-02-22 02:32:56

标签: python arrays

我无法理解以下代码:

def lengthOfLongestSubstring(s):
    mylist = []
    maxlist = []
    for y in s:
        #here s is copied to mylist
        mylist.append(y)
        if y[i] == y[i+1]:
            if mylist > maxlist:
                maxlist = mylist
                mylist = ''
            continue
    return maxlist

print(lengthOfLongestSubstring('abcaabc'))

我收到错误消息“未定义名称'i'” -我不理解,因为我只是字符串y的索引。不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

一个程序只按照您的指示进行操作,因此您的指示必须清楚。

您未在代码中定义i是什么。 Python不知道我是什么,它的取值为0吗?它取值1吗?在访问y的每个字符之前应该停止吗?

我怀疑您可能想在当前的for循环中包含另一个循环(以y作为迭代变量)来遍历字符串y。

另外,另一个潜在的问题:

  • 我注意到您正在比较两个列表。 mylist和maxlist。您必须考虑一个列表大于另一个列表是什么意思?如果要让列表包含更多元素,可以将len(mylist)与len(maxlist)进行比较。