seq1 = ['1', '2', '3']
seq2 = ['1', '2']
for elt1 in seq1:
for elt2 in seq2:
if elt1 == elt2:
seq1.remove(i)
print seq1
我想离开seq1 = ['3']
但是当我使用这段代码时,我发现结果为seq1 = ['2', '3']
。
我知道如何通过更改此代码来解决它。 我只是想知道为什么我的代码不起作用。 循环中实际发生了什么?
我的分析是:
问题是2
中的数字seq1
没有迭代。
只有'1'
,'3'
会重复。
最后,结果出来['2', '3']
(如果它在2
中的seq1
上进行迭代,那么结果将是['3']
)