Sao chép bộ Python
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng phương thức copy(), với sự trợ giúp của các tình huống sử dụng khác nhau Show ví dụ 1. Sao chép bộ PythonTrong ví dụ này, chúng ta sẽ sao chép nội dung của một tập hợp vào một biến khác Ngoài ra, chúng tôi sẽ sửa đổi tập hợp đã sao chép và quan sát nội dung của cả tập hợp gốc và tập hợp đã sao chép Chương trình Python Chạyđầu ra
Bộ ban đầu không thay đổi ví dụ 2. Sao chép Đặt thành nhiều biếnBạn có thể sao chép một tập hợp thành một hoặc nhiều biến trong một câu lệnh. Trong ví dụ này, chúng ta sẽ khởi tạo một tập hợp và sao chép nó vào hai biến Chương trình Python Chạyđầu ra
Tóm lượcTrong hướng dẫn về Ví dụ Python này, chúng ta đã học cách sử dụng phương thức copy() của set class trong Python, với sự trợ giúp của các chương trình ví dụ chi tiết Một cách tiếp cận đơn giản để có được một bản sao nông của tập hợp sử dụng chức năng tích hợp sẵn 1 2 3 4 5 6 7 if __name__ == '__main__'.
nums = {1, 2, 3, 4, 5}
bản sao = nums. bản sao() in(bản sao)
Tải xuống Chạy mã 2. Sử dụng Set constructorMột tùy chọn khác là sử dụng hàm tạo 1 2 3 4 5 6 7 if __name__ == '__main__'.
nums = {1, 2, 3, 4, 5}
nhân bản = đặt(nums) in(bản sao)
Tải xuống Chạy mã 3. Sử dụng chức năng copy.copy()Mô-đun sao chép cung cấp các quy trình cho các hoạt động sao chép nông và sâu. Một bản sao nông của tập hợp có thể được tạo bằng cách sử dụng Các câu lệnh gán trong Python không sao chép các đối tượng, chúng tạo ra các ràng buộc giữa mục tiêu và đối tượng. Đối với các bộ sưu tập có thể thay đổi hoặc chứa các mục có thể thay đổi, đôi khi cần có một bản sao để người dùng có thể thay đổi một bản sao mà không cần thay đổi bản kia. Mô-đun này cung cấp các thao tác sao chép nông và sâu chung chung (được giải thích bên dưới) Tóm tắt giao diện sao chép. bản sao(x)Trả lại một bản sao nông của x sao chép. deepcopy(x[ , ghi nhớ])Trả lại một bản sao sâu của x ngoại lệ sao chép. LỗiTăng cho các lỗi mô-đun cụ thể Sự khác biệt giữa sao chép nông và sâu chỉ liên quan đến các đối tượng phức hợp (các đối tượng chứa các đối tượng khác, như danh sách hoặc thể hiện của lớp)
Hai vấn đề thường tồn tại với thao tác sao chép sâu mà không tồn tại với thao tác sao chép nông
Chức năng tránh những vấn đề này bằng cách
Mô-đun này không sao chép các loại như mô-đun, phương thức, dấu vết ngăn xếp, khung ngăn xếp, tệp, ổ cắm, cửa sổ hoặc bất kỳ loại tương tự nào. Nó thực hiện “sao chép” các hàm và lớp (nông và sâu), bằng cách trả lại đối tượng ban đầu không thay đổi; Bản sao nông của từ điển có thể được tạo bằng cách sử dụng và của danh sách bằng cách chỉ định một phần của toàn bộ danh sách, ví dụ: Các lớp có thể sử dụng cùng một giao diện để kiểm soát việc sao chép mà chúng sử dụng để kiểm soát việc tẩy. Xem mô tả của mô-đun để biết thông tin về các phương pháp này. Trên thực tế, mô-đun sử dụng các hàm pickle đã đăng ký từ mô-đun Để một lớp định nghĩa việc triển khai bản sao của riêng mình, nó có thể định nghĩa các phương thức đặc biệt Bạn có thể sao chép một bộ bằng Python không?đặt bản sao () trong python
. Nếu chúng tôi sử dụng “=” để sao chép một bộ sang một bộ khác, khi chúng tôi sửa đổi trong bộ đã sao chép, các thay đổi cũng được phản ánh trong bộ ban đầu. The copy() method returns a shallow copy of the set in python. If we use “=” to copy a set to another set, when we modify in the copied set, the changes are also reflected in the original set.
Bộ sao chép là gì?Trong quá trình sao chép dữ liệu, dữ liệu được sao chép từ ổ đĩa nguồn sang một hoặc nhiều ổ đĩa đích, tùy thuộc vào loại phiên. Tập đĩa nguồn và tập đĩa đích chứa các bản sao của cùng một dữ liệu được gọi chung là tập hợp bản sao.
Copy() hoạt động như thế nào trong Python?Phương thức copy() của Python tạo một bản sao của danh sách hiện có . Phương thức copy() được thêm vào cuối đối tượng danh sách và do đó nó không chấp nhận bất kỳ tham số nào. copy() trả về một danh sách mới. Python bao gồm một chức năng tích hợp để hỗ trợ tạo một bản sao nông của danh sách. sao chép().
copy() trong danh sách Python là gì?Bản sao Python. copy() đã tạo một bản sao thực sự của danh sách gốc . Tuy nhiên, nó vẫn là một bản sao nông và các danh sách lồng nhau đề cập chính xác đến cùng một vị trí bộ nhớ. Nói cách khác, bản. copy() chỉ tạo các bản sao cấp cao nhất và không sao chép các đối tượng lồng nhau. |