Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách sao chép danh sách lồng nhau (nested list) trong Python


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.