亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么結果還有Lisa


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']



正在回答

2 回答

調用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


0 回復 有任何疑惑可以回復我~

if name ?in s:

此時用if,沒有循環起來!

改為 for name in s:試試

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758390    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么結果還有Lisa

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號