我正在做一个小的编码练习。但我似乎不能去掉一个字符串中的非括号字符
代码如下:
def valid_parentheses(string):
lis = list(string)
print(lis)
stack = []
for i in lis:
if i != '(' and i != ')':
lis.remove(i)
print(lis)
我在‘嗨(嗨)()中通过 但它打印的是
['h', 'i', '(', 'h', 'i', ')', '(', ')']
['i', '(', 'i', ')', '(', ')']
这很奇怪,因为它删除了“h”字符,但没有删除“i”字符。我主要想知道这里发生了什么。有人能解释一下吗
这个问题是,您需要修改正在迭代的列表
这应该起作用:
相关问题 更多 >
编程相关推荐