为什么我的程序会输出所有的元素?
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name in L:
if name in s:
s.remove(name)
if not name in s:
s.add(name)
print s
刚开始我是这样写的,结果输出为set(['Lisa', 'Paul', 'Adam', 'Bart'])。
如果把倒数第三行if not name in s:改为else:,那么结果是set(['Bart']),即正确结果。
请问大家为什么结果会不同?
ps:我自己的理解是if-else是同时进行的,而if-if有先后顺序。