和list、dict一樣,有時候我們也需要考慮刪除set的元素。
set提供了remove()方法允許我們刪除set中的元素。
name_set = set(['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl']) name_set.remove('Jenny') print(name_set) # ==> set(['Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl'])
需要注意的是,如果remove的元素不在set里面的話,那么將會引發(fā)錯誤。
name_set = set(['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl']) name_set.remove('Jenny') print(name_set) # ==> set(['Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl']) name_set.remove('Jenny') # ==> 重復(fù)remove 'Jenny' # 引起錯誤 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'Jenny'
因此,使用remove()方法,我們需要格外小心,需要提前判斷要remove()的元素是否在set里面,確保存在后,再進(jìn)行remove。
針對以下set,給定一個list,對于list里面的每個元素,如果set中包含這個元素,就將其刪除,否則添加到set里面去。
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] S = set([1, 3, 5, 7, 9, 11])
參考答案:
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] S = set([1, 3, 5, 7, 9]) for item in L: if item in S: S.remove(item) else: S.add(item) print(S) # ==> set([2, 4, 6, 8, 10])
請驗(yàn)證,完成請求
由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報