Trong Python, cắt danh sách là một thực tế phổ biến và nó là kỹ thuật được lập trình viên sử dụng nhiều nhất để giải quyết các vấn đề hiệu quả. Hãy xem xét danh sách python, Để truy cập một loạt các phần tử trong danh sách, bạn cần cắt danh sách. Một cách để làm điều này là sử dụng toán tử cắt đơn giản i. e. Đại tràng(. )
Với toán tử này, người ta có thể chỉ định nơi bắt đầu cắt, nơi kết thúc và chỉ định bước. Cắt danh sách trả về một danh sách mới từ danh sách hiện có
cú pháp
Lst[ Initial : End : IndexJump ]Nếu Lst là một danh sách, thì biểu thức trên trả về một phần của danh sách từ chỉ mục Ban đầu đến chỉ mục Kết thúc, ở kích thước bước IndexJump
lập chỉ mục
1. Chỉ số tích cực
Dưới đây là một chương trình đơn giản, để hiển thị toàn bộ danh sách bằng cách cắt
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]0[50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]5[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]7[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]9[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]1[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]7
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]9
đầu ra
[50, 70, 30, 20, 90, 10, 50]Sơ đồ trên minh họa một danh sách Lst với các giá trị và phần tử chỉ mục của nó
2. Chỉ số tiêu cực
Bây giờ, chúng ta hãy xem sơ đồ dưới đây minh họa một danh sách cùng với các chỉ số phủ định của nó
Chỉ số -1 đại diện cho phần tử cuối cùng và -n đại diện cho phần tử đầu tiên của danh sách (coi n là độ dài của danh sách). Danh sách cũng có thể được thao tác bằng cách sử dụng các chỉ mục tiêu cực
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]0[50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]5[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]7[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]9[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]1[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]7
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]10____411[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]13[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]15
đầu ra
[50, 70, 30, 20, 90, 10, 50]Chương trình trên hiển thị toàn bộ danh sách bằng cách sử dụng chỉ số phủ định trong việc cắt danh sách
3. cắt lát
Như đã đề cập trước đó, việc cắt danh sách là một phương pháp phổ biến trong Python và có thể được sử dụng với cả chỉ mục tích cực cũng như chỉ mục tiêu cực. Sơ đồ dưới đây minh họa kỹ thuật cắt danh sách
Chương trình dưới đây chuyển hình minh họa trên thành mã python
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]0[50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]5[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]7[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]9[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]1[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]7
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]10____414[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]99[50, 70, 30, 20, 90, 10, 50]15
đầu ra
[50, 70, 30, 20, 90, 10, 50]2Dưới đây là một số ví dụ mô tả việc sử dụng danh sách cắt trong Python
ví dụ 1
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]32 [50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2_______414[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]4______739[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]611[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]99[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]615[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]619[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]01[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]03
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]06[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]39[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]01[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]29[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]36
đầu ra
[50, 70, 30, 20, 90, 10, 50]25Để trống bất kỳ đối số nào như Ban đầu, Kết thúc hoặc IndexJump sẽ dẫn đến việc sử dụng các giá trị mặc định i. e 0 là Ban đầu, độ dài của danh sách là Kết thúc và 1 là IndexJump
ví dụ 2
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]32 [50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2_______141[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]611[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]45[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]03
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]06[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]29[50, 70, 30, 20, 90, 10, 50]11[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]29[50, 70, 30, 20, 90, 10, 50]11[50, 70, 30, 20, 90, 10, 50]39[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]78[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]98____411[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]15
đầu ra
[50, 70, 30, 20, 90, 10, 50]1Có thể tạo danh sách đảo ngược bằng cách sử dụng số nguyên âm làm đối số IndexJump. Để trống phần Đầu tiên và Kết thúc. Chúng ta cần chọn giá trị Ban đầu và Kết thúc theo danh sách đảo ngược nếu giá trị IndexJump là âm.
ví dụ 3
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]32 [50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2_______411[50, 70, 30, 20, 90, 10, 50]89[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]91[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]93[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]95[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]97[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]03
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]06[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]3[50, 70, 30, 20, 90, 10, 50]13[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]11[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]11[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]11[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]15
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]78[50, 70, 30, 20, 90, 10, 50]49[50, 70, 30, 20, 90, 10, 50]50
đầu ra
[50, 70, 30, 20, 90, 10, 50]38Nếu một số biểu thức cắt được thực hiện không có ý nghĩa hoặc không thể tính toán được thì danh sách trống sẽ được tạo
Ví dụ 4
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]32 [50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2_______411[50, 70, 30, 20, 90, 10, 50]89[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]91______14[50, 70, 30, 20, 90, 10, 50]93[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]97[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]95[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]03
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]06[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]77
[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]98[50, 70, 30, 20, 90, 10, 50]611[50, 70, 30, 20, 90, 10, 50]6[50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]41[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]88[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]41[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]92[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]77
[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]78____3615[50, 70, 30, 20, 90, 10, 50]6[50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]205
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
đầu ra
[50, 70, 30, 20, 90, 10, 50]9Cắt danh sách có thể được sử dụng để sửa đổi danh sách hoặc thậm chí xóa các phần tử khỏi danh sách
Ví dụ 5
Python3
[50, 70, 30, 20, 90, 10, 50]61
[50, 70, 30, 20, 90, 10, 50]32 [50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]2_______414[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]4______739[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]611[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]99[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]615[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]619[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]01[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]03
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]06[50, 70, 30, 20, 90, 10, 50]4[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]09
[50, 70, 30, 20, 90, 10, 50]244
[50, 70, 30, 20, 90, 10, 50]245[50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]78[50, 70, 30, 20, 90, 10, 50]39[50, 70, 30, 20, 90, 10, 50]6______7251[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]12[50, 70, 30, 20, 90, 10, 50]255
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]258
[50, 70, 30, 20, 90, 10, 50]259
[50, 70, 30, 20, 90, 10, 50]32 [50, 70, 30, 20, 90, 10, 50]1 [50, 70, 30, 20, 90, 10, 50]32_______129[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]6[50, 70, 30, 20, 90, 10, 50]251[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]2[50, 70, 30, 20, 90, 10, 50]14[50, 70, 30, 20, 90, 10, 50]13[50, 70, 30, 20, 90, 10, 50]37[50, 70, 30, 20, 90, 10, 50]6
[50, 70, 30, 20, 90, 10, 50]14
[50, 70, 30, 20, 90, 10, 50]8[50, 70, 30, 20, 90, 10, 50]05[50, 70, 30, 20, 90, 10, 50]32[50, 70, 30, 20, 90, 10, 50]09
đầu ra
[50, 70, 30, 20, 90, 10, 50]3Bằng cách nối các danh sách được cắt lát, một danh sách mới có thể được tạo hoặc thậm chí có thể sửa đổi danh sách có sẵn.