gpt4 book ai didi

Python检查列表中是否存在下一个元素

转载 作者:行者123 更新时间:2023-11-28 21:50:00 24 4
gpt4 key购买 nike

我正在用 Python 做一些挑战。

我有以下代码:

def SimpleSymbols(str):
letters = []
results = []

for i in range(len(str)):
if str[i] != '=' and str[i] != '+':
letters.append(str[i])

if str[i-1] == '+' and str[i+1] == '+':
results.append(str[i])

return len(letters) == len(results)

https://repl.it/BH1s/1

如果我检查 print(SimpleSymbols('++d+===+c++==')) 一切顺利,但如果我检查 print(SimpleSymbols('++ d+===+c++==+a'))

我收到这个错误:

Traceback (most recent call last): File "python", line 15, in File "python", line 9, in SimpleSymbols IndexError: string index out of range

有人可以解释一下为什么吗?

最佳答案

您正在尝试访问索引 str[i+1],在最后一次迭代中,该索引超出范围...

如果您必须使用它,请将循环限制为仅运行到 len(str)-1。要处理这种情况:'++d+===+c++==+a' 您可以在循环之后添加一个检查以验证前一后一元素不是 +(或将其添加到循环中的 if 条件)。

此外,将变量命名为 str 是一个不好的做法,它是一个 python 内置函数!

关于Python检查列表中是否存在下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32536224/

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