如果換一種怎么不能實現
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name2 in L:
? ? names = name2
? ? for name1 in s:
? ? ? ? if name1 == names:
? ? ? ? ? ? s.remove(name1)
? ? ? ? else:
? ? ? ? ? ? s.add(name1)
print s
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name2 in L:
? ? names = name2
? ? for name1 in s:
? ? ? ? if name1 == names:
? ? ? ? ? ? s.remove(name1)
? ? ? ? else:
? ? ? ? ? ? s.add(name1)
print s
2020-02-16
舉報
2020-02-16
對,有雙層迭代,迭代S的時候會報錯,不能在迭代的時候增加或移除元素,報RuntimeError: Set changed size during iteration。
在循環一個列表的時候,不能改變列表的大小和量。雙層迭代的結果是要改變第一個列表的量,這個是不允許的,因為第一個列表還沒循環完。
2020-02-16
這里面有雙層迭代吧,在迭代S的時候會報錯吧,不能在迭代的時候增加或移除元素,會報這個錯誤