s?=?set(['Adam',?'Lisa',?'Paul'])
L?=?['Adam',?'Lisa',?'Bart',?'Paul']
for?skey?in?s:
for?lkey?in?L:
if?lkey?==?skey:
s.remove(skey)
print?s
1 回答
已采納

孤獨的小豬
TA貢獻232條經驗 獲得超302個贊
報錯是因為在用for迭代集合s的時候,對集合s做了remove操作,更改了s的結構,導致報錯,可以先深拷貝一個s,用拷貝出來的s做remove操作,代碼如下:
import?copy s?=?set(['Adam',?'Lisa',?'Paul']) s_2?=?copy.deepcopy(s) L?=?['Adam',?'Lisa',?'Bart',?'Paul'] for?skey?in?s: ????for?lkey?in?L: ????????if?lkey?==?skey: ????????????s_2.remove(skey) print?s_2
添加回答
舉報
0/150
提交
取消