如何向现有集添加值?


当前回答

当你在谷歌上查找“Python如何向set中添加元素”时,这个问题是第一个出现的问题,所以值得明确指出的是,如果你想向set中添加整个字符串,它应该使用.add()而不是.update()添加。

假设你有一个字符串foo_str,它的内容是'this is a sentence',你有一些set bar_set = set()。

如果有的话 bar_set.update (foo_str),设置的内容将{' t ', ' ', ' ', ' e ', ' s ', ' n ', ' h ', ' c ',‘我’}。

如果你执行bar_set.add(foo_str),你的集合的内容将是{'这是一个句子'}。

其他回答

your_set.update(your_sequence_of_values)

例如,your_set。更新([1,2,3,4])。或者,如果你因为其他原因不得不在循环中生成值,

for value in ...:
    your_set.add(value)

但是,当然,在其他可行的情况下,使用单个.update调用进行批量操作更快更方便。

像这样使用更新:

keep.update(newvalues)

你也可以使用|操作符来连接两个集合(集合理论中的并集):

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

或者使用|=的缩写形式:

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

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

我只是想在这里补充一点。所以我在三种方法中寻找最快的方法。

使用set.add()函数 使用set.update()函数 使用"|"操作符函数。

我发现,要将单个值或多个值添加到一个集合中,必须使用set.add()函数。这是其他方法中最有效的方法。

所以我做了个测试,结果如下:

set.add() Took: 0.5208224999951199 set.update (): 0.6461397000239231” “|”操作符’Took: 0.7649438999942504

PS:如果你想知道更多的分析。

在这里检查:将值追加到set的最快方法。

定义一个集合

a = set()

使用add添加单个值

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

使用update从元组、集合、列表或冻结集合中添加元素

a.update([3, 4])
>>> print(a)
{1, 2, 3, 4}

注意:由于set元素必须是可哈希的,而列表被认为是可变的,所以不能将列表添加到set中。您也不能将其他集合添加到集合中。但是,您可以从列表和集合中添加元素,如.update方法所示。