Trong hướng dẫn này, ta sẽ thấy các cách khác nhau để sao chép danh sách lồng nhau trong Python. Xem lần lượt.
Trước tiên, ta sao chép danh sách lồng nhau dùng vòng lặp. Đây là cách phổ biến nhất.
Ví dụ
# Khởi tạo list
nested_list = [[1, 2], [3, 4], [5, 6, 7]]
# List rỗng
copy = []
for sub_list in nested_list:
# List tạm
temp = []
# Lặp qua sub_list
for element in sub_list:
# Thêm phần tử vào temp list
temp.append(element)
# Thêm temp list vào copy
copy.append(temp)
# In list
print(copy) Kết quả
Nếu chạy mã trên, bạn sẽ nhận được kết quả sau.
[[1, 2], [3, 4], [5, 6, 7]]
Xem cách sao chép nested list dùng list comprehension và toán tử giải nén (unpacking).
Ví dụ
# Khởi tạo list nested_list = [[1, 2], [3, 4], [5, 6, 7]] # Sao chép copy = [[*sub_list] for sub_list in nested_list] # In bản sao print(copy)
Kết quả
Nếu chạy mã trên, bạn sẽ nhận được kết quả sau.
[[1, 2], [3, 4], [5, 6, 7]]
Bây giờ, xem cách khác sao chép nested list. Ta có phương thức deepcopy từ mô-đun copy để sao chép nested list. Xem nó.
Ví dụ
# Import mô-đun copy import copy # Khởi tạo list nested_list = [[1, 2], [3, 4], [5, 6, 7]] # Sao chép copy = copy.deepcopy(nested_list) # In bản sao print(copy)
Kết quả
Nếu chạy mã trên, bạn sẽ nhận được kết quả sau.
[[1, 2], [3, 4], [5, 6, 7]]
Kết luận
Nếu có thắc mắc về hướng dẫn, hãy đề cập ở phần bình luận.