Toán tử nối +là một toán tử infix nhị phân, khi được áp dụng cho danh sách, sẽ trả về một danh sách mới chứa tất cả các phần tử của mỗi trong hai toán hạng của nó. Các list.append()phương pháp là một mutatortrên listđó gắn thêm đơn của objecttham số (trong ví dụ của bạn cụ thể danh sách c) đến chủ đề list. Trong ví dụ của bạn, điều này dẫn đến cviệc thêm một tham chiếu vào chính nó (do đó là đệ quy vô hạn).
Một thay thế cho nối '+'
Các list.extend()phương pháp cũng là một phương pháp mutator mà concatenates nó sequencetranh luận với chủ đề list. Cụ thể, nó nối từng phần tử của sequencetheo thứ tự lặp lại.
An sang một bên
Là một toán tử, +trả về kết quả của biểu thức dưới dạng một giá trị mới. Là một mutatorphương thức không chuỗi , list.extend()sửa đổi danh sách chủ đề tại chỗ và không trả về gì.
Mảng
Tôi đã thêm điều này do sự nhầm lẫn tiềm ẩn mà câu trả lời của Abel ở trên có thể gây ra bằng cách trộn lẫn thảo luận về danh sách, trình tự và mảng.
Arraysđã được thêm vào Python sau chuỗi và danh sách, như một cách hiệu quả hơn để lưu trữ các mảng kiểu dữ liệu tích hợp. Đừng nhầm lẫn arraysvới lists. Chúng không giống nhau.
Từ tài liệu mảng :
Mảng là kiểu trình tự và hoạt động rất giống danh sách, ngoại trừ kiểu đối tượng được lưu trữ trong chúng bị hạn chế. Kiểu được chỉ định tại thời điểm tạo đối tượng bằng cách sử dụng mã kiểu, là một ký tự duy nhất.