Slicing (cắt lát) là một trong những tính năng thanh lịch nhất của Python, cho phép lấy một phần của chuỗi, list hay tuple với cú pháp cực gọn.
Cú pháp cơ bản
ds = [0, 1, 2, 3, 4, 5]
ds[1:4] # [1, 2, 3] - từ chỉ số 1 đến trước 4
ds[:3] # [0, 1, 2] - từ đầu
ds[3:] # [3, 4, 5] - đến cuối
ds[:] # sao chép toàn bộ
Bước nhảy (step)
ds[::2] # [0, 2, 4] - lấy cách 1
ds[::-1] # [5, 4, 3, 2, 1, 0] - đảo ngược
ds[1:5:2] # [1, 3]
Chỉ số âm
ds[-1] # 5 - phần tử cuối
ds[-3:] # [3, 4, 5] - ba phần tử cuối
ds[:-2] # [0, 1, 2, 3] - bỏ hai phần tử cuối
Slicing với chuỗi
s = "Python"
s[:3] # "Pyt"
s[::-1] # "nohtyP" - đảo chuỗi
Gán qua slicing (chỉ với list)
ds = [1, 2, 3, 4]
ds[1:3] = [20, 30] # [1, 20, 30, 4]
Slicing giúp bạn thao tác dữ liệu tuần tự mà không cần vòng lặp. Nắm vững nó là bước tiến lớn tới việc viết code Python “Pythonic”.
