標籤:直接 方法 set des tip lis round 怎麼辦 file
Python之 更新set
由於set儲存的是一組不重複的無序元素,因此,更新set主要做兩件事:
一是把新的元素添加到set中,二是把已有元素從set中刪除。
添加元素時,用set的add()方法:
>>> s = set([1, 2, 3])>>> s.add(4)>>> print sset([1, 2, 3, 4])
如果添加的元素已經存在於set中,add()不會報錯,但是不會加進去了:
>>> s = set([1, 2, 3])>>> s.add(3)>>> print sset([1, 2, 3])
刪除set中的元素時,用set的remove()方法:
>>> s = set([1, 2, 3, 4])>>> s.remove(4)>>> print sset([1, 2, 3])
如果刪除的元素不存在set中,remove()會報錯:
>>> s = set([1, 2, 3])>>> s.remove(4)Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 4
所以用add()可以直接添加,而remove()前需要判斷。
任務
針對下面的set,給定一個list,對list中的每一個元素,如果在set中,就將其刪除,如果不在set中,就添加進去。
s = set([‘Adam‘, ‘Lisa‘, ‘Paul‘])L = [‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘]
-
?不會了怎麼辦
-
判斷元素是否在set中,使用in操作符。
參考代碼:
s = set([‘Adam‘, ‘Lisa‘, ‘Paul‘])L = [‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘]for name in L: if name in s: s.remove(name) else: s.add(name)print s
Python之 更新set