python - python数组索引未定义
问题描述
我无法理解以下代码:
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
打印(lengthOfLongestSubstring('abcaabc'))
我收到一个错误“名称'i'未定义” -我不明白这一点,因为 i 只是字符串 y 的索引。任何帮助,将不胜感激。谢谢你。
解决方案
程序只需按照您的指示进行,并且您的指示必须清楚。
您没有在代码中定义 i 是什么。Python 不知道 i 是什么,它取值为 0 吗?它取值为 1 吗?它应该在访问 y 的每个字符之前停止吗?
我怀疑您可能希望在当前 for 循环中包含另一个循环(以 y 作为迭代变量)来遍历字符串 y。
此外,另一个潜在问题:
- 我注意到您正在比较两个列表。mylist 和 maxlist。您必须考虑一个列表比另一个列表大是什么意思?如果您想要包含更多元素的列表,可以将 len(mylist) 与 len(maxlist) 进行比较。
推荐阅读
- android - 带有 SimpleCursorAdapter 的 AutoCompleteTextView 不过滤
- php - 获取我已转换为 HTML 表格的报告数据
- mysql - 如何在 MYSQL 中使用 Group 语句选择多个属性
- alloy - 提取集合中具有特定属性的所有元素(与特定值相关)
- excel - ThisWorkbook.SaveAs Filename 不保存并且没有错误代码(我看到了)
- regex - 如何增加 Google 表格中的重复值?
- ruby - 未定义的方法长度问题
- python - Python更新变量级别
- swiftui - SwiftUI 中 Text 对象中使用的当前字体
- postgresql - 无法在 postgresql 中创建关系表