我是初学者。我正在写一个删除'!'的python程序和'。'从列表中。用户输入任何字符串。 Python将其转换为列表并删除!和。并再次打印更改列表。这是我的代码:
x = input("Enter a string: ")
y = list(x)
for i in range(len(y) - 1):
if y[i] == '!' or y[i] == '.':
y.pop(i)
print("Altered list is: ",y)
即使我执行range(len(y)-1)
到range(len(y))
,也会显示错误:
List index out of range
。
答案 0 :(得分:0)
您正在迭代正在修改的列表......它无法很好地结束。
请尝试使用此方法:
y = [elt for elt in y if elt != "!" or elt != "."]
它将重建您的列表,省略不需要的元素。