Python 中的 set copy() 方法
在本教程中,我们将学习关于 **copy** 方法集合数据结构的内容。让我们详细了解一下。
**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 方法。
示例
让我们看看使用 **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}
如果你查看输出,你不会发现第一个 **集合** 有任何更改。
结论¶
如果你对本教程有任何疑问,请在评论区提出。
广告