2010-08-02 62 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} 

就是这样 - 记住,更新如果它是可迭代的(又名列表或元组)或如果不是加。快乐的编码!