Định dạng cắt danh sách là [Bắt đầu: Dừng: Bước].[start:stop:step].
- Bắt đầu là chỉ số của danh sách nơi cắt lát bắt đầu. is the index of the list where slicing starts.
- Dừng là chỉ số của danh sách nơi cắt kết thúc. is the index of the list where slicing ends.
- Bước cho phép bạn chọn mục thứ n trong phạm vi bắt đầu dừng. allows you to select nth item within the range start to stop.
Danh sách cắt lát hoạt động tương tự như hàm python slice [].
Nhận tất cả các mặt hàng
my_list = [1, 2, 3, 4, 5]
print[my_list[:]]
Đầu ra
[1, 2, 3, 4, 5]
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9.Nhận tất cả các mục sau một vị trí cụ thể
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
Đầu ra
[3, 4, 5]
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9.Nhận tất cả các mục sau một vị trí cụ thể
Nếu bạn muốn có được tất cả các yếu tố sau một chỉ mục cụ thể, bạn có thể đề cập đến chỉ mục đó trước
8 như trong ví dụ trên. indexing starts from 0. Item on index 2 is also included.my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
Trong ví dụ trên, các phần tử tại INDEX 2 và tất cả các yếu tố sau chỉ mục 2 được in.
my_list = [1, 2, 3, 4, 5]
print[my_list[:2]]
Đầu ra
[1, 2]
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9.Nhận tất cả các mục sau một vị trí cụ thể
Nếu bạn muốn có được tất cả các yếu tố sau một chỉ mục cụ thể, bạn có thể đề cập đến chỉ mục đó trước my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8 như trong ví dụ trên.
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
my_list = [1, 2, 3, 4, 5]
print[my_list[2:4]]
Đầu ra
[3, 4]
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9.Nhận tất cả các mục sau một vị trí cụ thể
Nếu bạn muốn có được tất cả các yếu tố sau một chỉ mục cụ thể, bạn có thể đề cập đến chỉ mục đó trước my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8 như trong ví dụ trên.
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
my_list = [1, 2, 3, 4, 5]
print[my_list[::2]]
Đầu ra
[1, 3, 5]
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9.Nhận tất cả các mục sau một vị trí cụ thể
Nếu bạn muốn có được tất cả các yếu tố sau một chỉ mục cụ thể, bạn có thể đề cập đến chỉ mục đó trước
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8 như trong ví dụ trên.[1, 2, 3, 4, 5]0
Đầu ra
[1, 2, 3, 4, 5]1
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9.Nhận tất cả các mục sau một vị trí cụ thể
[1, 2, 3, 4, 5]2
Đầu ra
[1, 2, 3, 4, 5]3
Nếu bạn chỉ cần sử dụng
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
8, bạn sẽ nhận được tất cả các yếu tố của danh sách. Điều này tương tự như my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
9. Các câu trả lời ở trên không thảo luận về việc gán lát cắt. Để hiểu được sự phân công lát cắt, thật hữu ích khi thêm một khái niệm khác vào nghệ thuật ASCII:
[1, 2, 3, 4, 5]4
Một heuristic là, đối với một lát từ 0 đến n, nghĩ: "Zero là sự khởi đầu, bắt đầu từ đầu và lấy n vật phẩm trong một danh sách".
[1, 2, 3, 4, 5]5
Một heuristic khác là, "Đối với bất kỳ lát cắt nào, hãy thay thế bắt đầu bằng 0, áp dụng heuristic trước đó để kết thúc danh sách, sau đó đếm số đầu tiên trở lại để cắt các vật phẩm từ đầu"
[1, 2, 3, 4, 5]6
Quy tắc đầu tiên của gán lát cắt là vì việc cắt sẽ trả về danh sách, việc gán lát cắt yêu cầu một danh sách [hoặc khác có thể điều chỉnh được]:
[1, 2, 3, 4, 5]7
Quy tắc thứ hai của gán lát cắt, mà bạn cũng có thể thấy ở trên, là bất kỳ phần nào của danh sách được trả lại bằng cách lập chỉ mục lát cắt, đó là cùng một phần được thay đổi bằng cách gán lát cắt:
[1, 2, 3, 4, 5]8
Quy tắc thứ ba của gán lát cắt là, danh sách được gán [có thể điều chỉnh được] không phải có cùng độ dài; Đụ được lập chỉ mục chỉ đơn giản là cắt ra và thay thế en masse bằng bất cứ điều gì đang được chỉ định:
[1, 2, 3, 4, 5]9
Phần khó nhất để làm quen là gán cho các lát trống. Sử dụng heuristic 1 và 2, thật dễ dàng để có được đầu của bạn khi lập chỉ mục một lát trống:
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
0Và sau đó một khi bạn đã thấy điều đó, việc gán lát cho lát trống cũng có ý nghĩa:
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
1Lưu ý rằng, vì chúng tôi không thay đổi số thứ hai của lát cắt [4], các mục được chèn luôn xếp ngay với 'O', ngay cả khi chúng tôi gán cho lát trống. Vì vậy, vị trí cho gán lát trống là phần mở rộng logic của các vị trí cho các bài tập lát không trống.
Sao lưu một chút, điều gì xảy ra khi bạn tiếp tục với đám rước của chúng tôi về việc đếm phần lát cắt bắt đầu?
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
2Với việc cắt lát, một khi bạn đã hoàn thành, bạn đã hoàn thành; Nó không bắt đầu cắt ngược. Trong Python, bạn không nhận được những bước tiến tiêu cực trừ khi bạn yêu cầu rõ ràng bằng cách sử dụng một số âm.
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
3Có một số hậu quả kỳ lạ đối với quy tắc "một khi bạn đã hoàn thành, bạn đã hoàn thành":
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
4Trên thực tế, so với lập chỉ mục, việc cắt Python là không có lỗi một cách kỳ lạ:
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
5Điều này đôi khi có thể có ích, nhưng nó cũng có thể dẫn đến hành vi hơi kỳ lạ:
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
6Tùy thuộc vào ứng dụng của bạn, điều đó có thể ... hoặc có thể không ... là những gì bạn đã hy vọng ở đó!
Dưới đây là văn bản của câu trả lời ban đầu của tôi. Nó rất hữu ích cho nhiều người, vì vậy tôi không muốn xóa nó.
my_list = [1, 2, 3, 4, 5]
print[my_list[2:]]
7Điều này cũng có thể làm rõ sự khác biệt giữa cắt và lập chỉ mục.