課程
/后端開發
/Python
/初識Python
s = set(['Adam','lisa','Paul'])
L = ['Adam','lisa','Bart','Paul']
for name in L:
? ? if name ?in s:
? ? ? ? L.remove(name)
print L
['lisa', 'Bart']
2016-09-29
源自:初識Python 6-10
正在回答
調用remove方法之后,它的下標會自動右移,所以加上for的右移,一次產生兩次片裝,所以會漏掉lisa,你把lisa和paul換一下,那么結果會變成[paul,bart],有個笨辦法可以達到你的效果
s = set(['Adam','lisa','Paul'])L = ['Adam','bart','lisa','Paul']for name in L:??? if name? in s:??????? L.remove(name)for name in L:??? if name? in s:??????? L.remove(name)print L
if name ?in s:
此時用if,沒有循環起來!
改為 for name in s:試試
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-09-30
調用remove方法之后,它的下標會自動右移,所以加上for的右移,一次產生兩次片裝,所以會漏掉lisa,你把lisa和paul換一下,那么結果會變成[paul,bart],有個笨辦法可以達到你的效果
s = set(['Adam','lisa','Paul'])
L = ['Adam','bart','lisa','Paul']
for name in L:
??? if name? in s:
??????? L.remove(name)
for name in L:
??? if name? in s:
??????? L.remove(name)
print L
2016-09-29
if name ?in s:
此時用if,沒有循環起來!
改為 for name in s:試試