Computer >> Máy Tính >  >> Lập trình >> Python

đặt copy () trong python

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về bản sao phương pháp thiết lập cấu trúc dữ liệu. Hãy cùng xem chi tiết.

Phương pháp sao chép được sử dụng để nhận bản sao cạn của một tập hợp.

Hãy xem các ví dụ khác nhau dưới bình thường nông bản sao của một tập hợp.

Bản sao thông thường

Thực hiện theo các bước dưới đây và hiểu kết quả đầu ra.

  • Khởi tạo một tập hợp.
  • Gán tập hợp cho một biến khác bằng toán tử gán.
  • Bây giờ, hãy thêm một phần tử nữa vào tập hợp đã sao chép.
  • In cả hai bộ.

Bạn sẽ không tìm thấy bất kỳ sự khác biệt nào giữa. Toán tử gán trả về tập hợp tham chiếu . cả hai bộ đều trỏ đến cùng một đối tượng trong bộ nhớ. Vì vậy, bất kỳ thay đổi nào được thực hiện đối với bất kỳ thay đổi nào trong số chúng sẽ phản ánh trong cả hai.

Ví dụ

# 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}")

Đầu ra

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.

Set One: {1, 2, 3, 4, 5, 6}
Set Two: {1, 2, 3, 4, 5, 6}

Như chúng tôi mong đợi, tập đầu tiên cũng thay đổi khi chúng tôi thay đổi tập thứ hai. Làm thế nào để tránh nó?

Chúng tôi có thể sử dụng cạn để sao chép một tập hợp. Có nhiều cách để sao chép nông một tập hợp. Một trong những cách là sử dụng phương pháp sao chép của một bộ .

Ví dụ

Hãy xem ví dụ mẫu với 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}")

Đầu ra

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.

Set One: {1, 2, 3, 4, 5}
Set Two: {1, 2, 3, 4, 5, 6}

Nếu bạn thấy đầu ra, bạn sẽ không tìm thấy bất kỳ thay đổi nào trong bộ đầu tiên .

Kết luận¶

Nếu bạn có bất kỳ nghi ngờ nào về hướng dẫn, hãy đề cập đến chúng trong phần bình luận.