這個那里錯了啊???
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for x in L:
? ? if x in s:
? ? ? ? continue
? ? s.add(x)
print s
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for x in L:
? ? if x in s:
? ? ? ? continue
? ? s.add(x)
print s
2019-07-05
舉報
2019-07-05
你做的是6-10的題吧。你的代碼應該沒問題不會報錯,但是結果肯定不滿足題目要求。
題目要求:給定一個list,對list中的每一個元素,
如果在set中,就將其刪除
如果不在set中,就添加進去
分析一下你的代碼:
這段代碼的判定的結果是:如果x在set中,那么跳過本次循環;
這和題目的要求不符,正確的代碼應該是:
并且,第二個錯誤:
在整個循環中,每執行一次循環,你的這段代碼都會執行一次s.add(x)
題目要求為:如果不在set中,就添加進去,這段代碼的功能顯然不符合題目的要求
需要為s.add(x)設置一個執行條件,滿足x不在set中這個條件才執行s.add(x)。
以下為正確代碼:
完整代碼如下,希望能幫到你: