在本教程中,我们将学习复制方法集的数据结构。让我们详细看看。
方法副本用于获取集合的浅表副本。
让我们来看看在普通和浅拷贝集合下的不同例子。
请遵循以下步骤并了解输出。
初始化集合。
使用赋值运算符将集合分配给另一个变量。
现在,向复制的集合中再添加一个元素。
打印两组。
您之间不会发现任何区别。赋值运算符返回设置的参考。两组都指向内存中的同一对象。因此,对它们中的任何一个所做的任何更改都将反映在它们两个中。
# initialzing the set number_set = {1, 2, 3, 4, 5} # assigning the set another variable number_set_copy = number_set # changing the first value of number_set_copy number_set_copy.add(6) # printin the both sets print(f"Set One: {number_set}") print(f"Set Two: {number_set_copy}")
输出结果
如果运行上面的代码,则将得到以下结果。
Set One: {1, 2, 3, 4, 5, 6} Set Two: {1, 2, 3, 4, 5, 6}
正如我们期望的那样,当我们更改第二组时,第一组也发生了变化。如何避免呢?
我们可以使用浅表来复制集合。有多种方法可以浅套复制集。一种方法是使用集合的复制方法。
让我们看一下带有copy的示例示例。
# initialzing the set number_set = {1, 2, 3, 4, 5} # shallow copy using copy number_set_copy = number_set.copy() # changing the first value of number_set_copy number_set_copy.add(6) # printin the both sets print(f"Set One: {number_set}") print(f"Set Two: {number_set_copy}")
输出结果
如果运行上面的代码,则将得到以下结果。
Set One: {1, 2, 3, 4, 5} Set Two: {1, 2, 3, 4, 5, 6}
如果看到输出,则不会在first set中找到任何更改。