Tóm lại, có, thứ tự được giữ nguyên. Trong dài:
Nói chung các định nghĩa sau đây sẽ luôn áp dụng đối với đối tượng như danh sách:
Một danh sách là một tập hợp các yếu tố mà có thể chứa các thành phần trùng lặp và có một trật tự xác định rằng nhìn chung không thay đổi trừ khi rõ ràng đã làm như vậy. ngăn xếp và hàng đợi là cả hai loại danh sách cung cấp hành vi cụ thể (thường bị giới hạn) để thêm và loại bỏ các phần tử (ngăn xếp là LIFO, hàng đợi là FIFO). Danh sách là đại diện thực tế của, tốt, danh sách các sự vật. Một chuỗi có thể được coi như một danh sách các ký tự, vì thứ tự quan trọng ("abc" != "bca"
) và các bản sao trong nội dung của chuỗi được cho phép ("aaa"
có thể tồn tại và != "a"
).
A đặt là tập hợp các phần tử không thể chứa các bản sao và có thứ tự không xác định có thể có hoặc không thay đổi theo thời gian. Bộ không đại diện cho danh sách các thứ quá nhiều khi chúng mô tả mức độ của một số lựa chọn nhất định. Cấu trúc bên trong của bộ, làm thế nào các yếu tố của nó được lưu trữ tương đối với nhau, thường không có nghĩa là để truyền đạt thông tin hữu ích. Trong một số triển khai, các bộ luôn được sắp xếp nội bộ; ở những người khác, thứ tự chỉ đơn giản là không xác định (thường phụ thuộc vào hàm băm).
Bộ sưu tập là một thuật ngữ chung đề cập đến bất kỳ đối tượng nào được sử dụng để lưu trữ một số (thường biến) của các đối tượng khác. Cả hai danh sách và bộ là một loại bộ sưu tập. Tuples và mảng thường không được coi là bộ sưu tập. Một số ngôn ngữ xem xét bản đồ (các vùng chứa mô tả liên kết giữa các đối tượng khác nhau) cũng là một loại bộ sưu tập.
Lược đồ đặt tên này đúng với tất cả các ngôn ngữ lập trình mà tôi biết, bao gồm Python, C++, Java, C# và Lisp (trong đó danh sách không giữ thứ tự của chúng sẽ đặc biệt thảm khốc). Nếu bất cứ ai biết về bất kỳ nơi này không phải là trường hợp, xin vui lòng chỉ nói như vậy và tôi sẽ chỉnh sửa câu trả lời của tôi. Lưu ý rằng việc triển khai cụ thể có thể sử dụng tên khác cho các đối tượng này, chẳng hạn như vectơ trong C++ và flex trong ALGOL 68 (cả hai danh sách; flex về mặt kỹ thuật chỉ là một mảng có kích thước lớn).
Nếu có bất kỳ sự nhầm lẫn trái trong trường hợp của bạn do các chi tiết cụ thể về cách thức dấu +
làm việc ở đây, chỉ biết rằng trật tự là quan trọng cho các danh sách và trừ khi có lý do rất tốt để tin rằng nếu không bạn có thể khá nhiều luôn một cách an toàn giả định rằng các hoạt động danh sách duy trì trật tự. Trong trường hợp này, ký hiệu +
hoạt động giống như các chuỗi ký tự (thực ra chỉ là danh sách các ký tự): nó lấy nội dung của một danh sách và đặt nó đằng sau nội dung của một danh sách khác.
Nếu chúng ta có
list1 = [0, 1, 2, 3, 4]
list2 = [5, 6, 7, 8, 9]
Sau đó
list1 + list2
là giống như
[0, 1, 2, 3, 4] + [5, 6, 7, 8, 9]
nào để đánh giá
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Giống như
"abdcde" + "fghijk"
Tạo
"abdcdefghijk"
Đây là câu trả lời đúng vì vậy tôi không muốn thêm khác. Ông cũng có thể sử dụng list.append để thực sự đặt tâm trí của mình thoải mái. http://docs.python.org/2/tutorial/datastructures.html –
điều gì sẽ xảy ra nếu tôi trả về danh sách cục bộ từ một hàm và sử dụng chức năng đó trong chức năng gọi. Đó là 'def fn_1(): lst = [] lst.append (1) lst.append (2) trả về lst' và' def fn_2(): print (fn_1()) 'Lệnh sẽ giống nhau không, bất kể cách nhiều lần hoặc bao giờ tôi sử dụng fn_1()? – MANU
Có, thứ tự của các phần tử trong danh sách python là liên tục. ;) – sge