IndexError:在使用For循环时在Python3中列出超出范围的索引
我正在 python 中创建一个 for 循环。我的代码:
tc = int(input())
for tc_ct in range(tc):
s = input().split()
n = len(s)
edited_s = s.copy()
for i in range(n):
i_1 = i+1
if i == 0 and s[0] == s[i_1]:
edited_s.pop(i)
elif i == n-1:
if s[i] == s[i-1]:
edited_s.pop(i)
else:
if s[i] == s[i-1] or s[i] == s[i+1]:
edited_s.pop(i)
print("".join(edited_s))
但是,我收到以下错误:
Execution failed.
IndexError : list index out of range
Stack Trace:
Traceback (most recent call last):
File "/tmp/146373551/user_code.py", line 8, in <module>
if i == 0 and s[0] == s[i_1]:
IndexError: list index out of range
有人可以告诉我这是什么意思吗
回答
改变:
for i in range(n):
到:
for i in range(n-1):
这很重要,因为当您这样做时i_1 = i+1
,当它到达列表中的最后一项时,它无法获得最后一项 + 1,因为没有这样的事情。这就是它抛出异常的原因。
THE END
二维码