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

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

為什么我的程序會輸出所有的元素?

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有先后順序。

正在回答

1 回答

你第一個if remove掉了,然后第二個if判斷不在里面,然后又加進去了。當然是全部了。

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

牛頭為什么這么肥 提問者

非常感謝!
2015-09-07 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

為什么我的程序會輸出所有的元素?

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

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

幫助反饋 APP下載

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

公眾號

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