如何在Python中向一个集合添加值

用Set.add() 函数向一个集合只添加一个值

从数学上讲,集合是一个在逻辑上有联系的不同对象的集合。在Python中,集合是一个内置的数据类型,它是无索引的和不可变的。

这意味着我们可以通过一些特定的索引来访问集合项,而且我们不能修改集合内的现有数据。

我们可以通过在 Python 中创建一个set 类对象来声明一个集合。我们可以使用内置的add() 方法,将数值追加到我们新创建的集合中。

下面的代码片段演示了我们如何用Python中的add() 方法将数值追加到一个集合中。

myset = set()
myset.add(14)
myset.add(14)
myset.add(15)
print(myset)

输出:

{14, 15}

上面的输出演示了前面没有提到的集合的另一个属性。一个集合只包含不同的值,所以我们不能在一个集合内有重复的值。

add() 方法的唯一缺点是,它只能向我们的集合中添加一个值。

Set.update() 函数向一个集合添加多个值

add() 方法工作得很好,但是它只需要一个输入,如果我们想在一个集合中添加成千上万的值,那么我们的任务就变得非常繁琐。在这种情况下,我们可以利用内置的update() 方法,它可以一次向我们的集合添加多个值。

update() 方法将一个可迭代对象作为输入,对其进行迭代,并将每个项目添加到我们的集合中。我们的迭代对象在任何时候都不需要是一个列表。

下面的代码片段向我们展示了如何用 Python 的update() 方法向我们的集合添加多个值。

myset.update([1110,3,4])
print(myset)

输出:

{1, 3, 4, 14, 15, 1110}

我们用Python中的update() 方法将新的值添加到我们前面的例子中的集合。

尽管在节省时间方面它是明显的赢家,但update() 方法也有缺陷。例如,如果我们想将一个字符串添加到我们的集合中,update() 函数将遍历整个字符串,并将每个独特的字符添加到我们的集合中,如下面的代码例子所示。

myset.update("this is my value")
print(myset)

输出:

{1, 3, 4, 's', 'm', 'a', 'h', 14, 15, 'l', 'y', 'u', 'e', 1110, 'v', 't', ' ', 'i'}

这是因为字符串在Python中是一个可迭代的对象。我们必须把我们的字符串包围在另一个可迭代对象 (如 list 或 set) 内来解决这个问题。

这个步骤在下面的代码例子中显示。

#Python小白学习交流群:153708845
myset.update(["this is my value"])
print(myset)

输出:

{1, 3, 4, 'm', 14, 15, 'i', 's', 'l', 'y', ' ', 'u', 'h', 1110, 'v', 'this is my value', 't', 'a', 'e'}

这一次,整个字符串被添加到我们的集合中,而不是每个字符。

posted @ 2023-10-07 16:35  python学习者0  阅读(147)  评论(0编辑  收藏  举报