搞砸的代码片段:
equ2 = ['+', '10', '+', '2', '-', '2', '+', '4']
flag4 = [ ]
for k in equ2[:]:
if equ2[equ2.index(k)-1] == '+':
del(equ2[equ2.index(k)])
flag4.append('-' + k)
elif equ2[equ2.index(k)-1] == '-':
del(equ2[equ2.index(k)])
flag4.append('+' + k)
print flag4
*编辑:我搞砸了变量,对此感到抱歉:x
*Edit2:再次抱歉 D:jedwards,这是我得到的输出,我通过从复制的列表中删除得到了另一个输出
我得到的输出:
['-10', '-2', '--', '-2', '-4']
我想要的输出:
['-10', '-2', '+'2, '-4']
我发现当它到达'-'时,它会检查原始列表(现在修改为+ - 2 + 4),并看到'-'之前的项目是'+',所以它附加了'- -',然后再次检查原始列表(现在 + 2 + 4)并在 2 之前看到“+”,因此它附加了“-2”(在那之后自行修复)。它是否一直在检查原始列表?