1. 程式人生 > >Python之 更新set

Python之 更新set

mov 由於 一個 hide 刪除 trace 需要 報錯 針對

Python之 更新set

由於set存儲的是一組不重復的無序元素,因此,更新set主要做兩件事:

一是把新的元素添加到set中,二是把已有元素從set中刪除

添加元素時,用set的add()方法:

>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])

如果添加的元素已經存在於set中,add()不會報錯,但是不會加進去了:

>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])

刪除set中的元素時,用set的remove()方法:

>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([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