在python中设置copy()

在本教程中,我们将学习复制方法集的数据结构。让我们详细看看。

方法副本用于获取集合的浅表副本

让我们来看看在普通拷贝集合下的不同例子。

普通副本

请遵循以下步骤并了解输出。

  • 初始化集合。

  • 使用赋值运算符将集合分配给另一个变量。

  • 现在,向复制的集合中再添加一个元素。

  • 打印两组。

您之间不会发现任何区别。赋值运算符返回设置的参考。两组都指向内存中的同一对象。因此,对它们中的任何一个所做的任何更改都将反映在它们两个中。

示例

# 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中找到任何更改。

结论¶