如何向现有集添加值?
当前回答
我只是想在这里补充一点。所以我在三种方法中寻找最快的方法。
使用set.add()函数 使用set.update()函数 使用"|"操作符函数。
我发现,要将单个值或多个值添加到一个集合中,必须使用set.add()函数。这是其他方法中最有效的方法。
所以我做了个测试,结果如下:
set.add() Took: 0.5208224999951199 set.update (): 0.6461397000239231” “|”操作符’Took: 0.7649438999942504
PS:如果你想知道更多的分析。
在这里检查:将值追加到set的最快方法。
其他回答
我喜欢这样做的方法是将原始集合和我想添加到列表中的值同时转换,添加它们,然后将它们转换回集合,就像这样:
setMenu = {"Eggs", "Bacon"}
print(setMenu)
> {'Bacon', 'Eggs'}
setMenu = set(list(setMenu) + list({"Spam"}))
print(setMenu)
> {'Bacon', 'Spam', 'Eggs'}
setAdditions = {"Lobster", "Sausage"}
setMenu = set(list(setMenu) + list(setAdditions))
print(setMenu)
> {'Lobster', 'Spam', 'Eggs', 'Sausage', 'Bacon'}
这样,我还可以使用相同的逻辑轻松地添加多个集,如果我尝试使用.update()方法,这将为我提供一个TypeError: unhashable类型:'set'。
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([…])而不是{…}。
keep.update((0,1,2,3,4,5,6,7,8,9,10))
Or
keep.update(np.arange(11))
推荐文章
- Pandas和NumPy+SciPy在Python中的区别是什么?
- 将列表转换为集合会改变元素的顺序
- 如何在matplotlib更新一个情节
- TypeError: ` NoneType `对象在Python中不可迭代
- 使用jQuery的“.val()”在表单中设置隐藏字段的值不工作
- 如何在Vim注释掉一个Python代码块
- python标准库中的装饰符(特别是@deprecated)
- 如何从外部访问本地Django web服务器
- 删除字符串的最后3个字符
- 在python中执行no-op的标准方法是什么?
- 如何从生成器构建numpy数组?
- 什么时候我应该(不)想要在我的代码中使用熊猫apply() ?
- 数据类vs类型。NamedTuple主要用例
- 如何从macOS完全卸载蟒蛇
- 是否有可能键入提示一个lambda函数?