从数学上讲,集合是一个在逻辑上有联系的不同对象的集合。在Python中,集合是一个内置的数据类型,它是无索引的和不可变的。
这意味着我们可以通过一些特定的索引来访问集合项,而且我们不能修改集合内的现有数据。
我们可以通过在 Python 中创建一个set 类对象来声明一个集合。我们可以使用内置的add() 方法,将数值追加到我们新创建的集合中。
下面的代码片段演示了我们如何用Python中的add() 方法将数值追加到一个集合中。
myset = set()
myset.add(14)
myset.add(14)
myset.add(15)
print(myset)
输出:
{14, 15}
上面的输出演示了前面没有提到的集合的另一个属性。一个集合只包含不同的值,所以我们不能在一个集合内有重复的值。
add() 方法的唯一缺点是,它只能向我们的集合中添加一个值。
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'}
这一次,整个字符串被添加到我们的集合中,而不是每个字符。