2010-08-02 81 views

回答

226
keep.update(yoursequenceofvalues) 

例如,keep.update(xrange(11))爲您的具體示例。或者,如果你有生產值在某些其他原因循環,

for ...whatever...: 
    onemorevalue = ...whatever... 
    keep.add(onemorevalue) 

但是,當然,有一個.update調用做散裝更快,更簡便,當否則可行的。

+15

'.add'增加了一個項目,'.update'增加了幾個項目。那是對的嗎? – ThorSummoner 2016-04-06 22:33:40

+3

@ThorSummoner是的,'.add'需要一個可哈希類型,而'.update'需要一個可迭代的對象 – Bonnie 2016-11-16 00:15:24

+0

如果你添加一個更新的字符串,它會在你的字符串中添加一個字符,因爲它是一個可迭代的! – hgolov 2018-02-07 09:56:13

32

使用update這樣的:

keep.update(newvalues) 
63

您還可以使用|運算符來連接兩套(工會在集合論):

>>> my_set = {1} 
>>> my_set = my_set | {2} 
>>> my_set 
{1, 2} 

或者用|=一個較短的形式:

>>> my_set |= {2} 
>>> my_set 
{1, 2} 

注意:在Python 2.7之前的版本中,使用set([...])而不是{...}

+0

如果你有一個my_sets集合的列表,那麼你可以通過'big_set = my_sets [0] .union(* my_sets [1:])'將它們合併 – zelusp 2016-11-07 01:24:31

133

定義設置

a = set() 

使用添加追加單值

a.add(1) 
a.add(2) 

使用更新追加迭代值

a.update([3,4]) 

檢查您的收藏

a 
Out[*n*]: {1, 2, 3, 4} 

就是這樣 - 記住,更新如果它是可迭代的(又名列表或元組)或如果不是加。快樂的編碼!