Trang chủHướng dẫnSlicing trong Python: Cách cắt chuỗi nhanh và hiệu quả
Chuyên gia

Slicing trong Python: Cách cắt chuỗi nhanh và hiệu quả

CyStack blog 3 phút để đọc
CyStack blog19/08/2025
Locker Avatar

Chris Pham

Technical Writer

Locker logo social
Reading Time: 3 minutes

Chuỗi hỗ trợ cú pháp slicing trong Python để tạo ra chuỗi con (substring). Do chuỗi là kiểu dữ liệu bất biến nên thao tác slicing sẽ tạo một chuỗi mới từ chuỗi gốc và giữ nguyên chuỗi ban đầu.

Slicing trong Python

Slicing trong Python

Cú pháp slicing chuỗi như sau:

str_object[start_pos:end_pos:step]

Slicing bắt đầu từ chỉ số start_pos (bao gồm) và kết thúc ở chỉ số end_pos (không bao gồm). Tham số step dùng để xác định bước nhảy từ chỉ số bắt đầu đến chỉ số kết thúc.

Slicing trong Python luôn tuân theo quy tắc: s[:i] + s[i:] == s với bất kỳ chỉ số i nào. Tất cả các tham số trong cú pháp trên đều là tùy chọn, trong đó, mặc định start_pos là 0, end_pos là độ dài chuỗi, và step là 1.

Dưới đây là một số ví dụ đơn giản sử dụng slicing để tạo chuỗi con:

s = 'HelloWorld'

print(s[:])

print(s[::])

Kết quả:

HelloWorld
HelloWorld

Vì không chỉ định tham số nào nên chuỗi con tạo ra giống hệt chuỗi gốc.

Tiếp theo là một vài ví dụ khác về slicing chuỗi:

s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)

third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)

Kết quả:

Hello
llo

Lưu ý, chỉ số bắt đầu từ 0, do đó start_pos = 2 tương ứng với ký tự thứ ba trong chuỗi.

Đảo ngược chuỗi bằng slicing

Chúng ta có thể đảo ngược một chuỗi bằng cách đặt giá trị step là -1:

s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)

Kết quả:

dlroWolleH

Dưới đây là một số ví dụ khác sử dụng bước nhảy và chỉ số âm:

s1 = s[2:8:2]
print(s1)

Kết quả:

loo

Ở đây chuỗi con gồm các ký tự tại các chỉ số 2, 4 và 6.

s1 = s[8:1:-1]
print(s1)

Kết quả:

lroWoll

Ở đây, các giá trị chỉ mục được lấy từ cuối về đầu. Chuỗi con được tạo từ các vị trí có chỉ số 1 đến 7 tính từ cuối chuỗi trở ngược lại.

Python Slice String

s1 = s[8:1:-2]
print(s1)

Kết quả:

lool

Python Slice String

Slicing trong Python cũng hỗ trợ chỉ số âm. Khi đó, start_pos sẽ bị loại trừ và end_pos được bao gồm trong chuỗi con:

s1 = s[-4:-2]
print(s1)

Kết quả:

or

Python Slice String

Slicing trong Python xử lý các chỉ số vượt quá độ dài chuỗi một cách an toàn:

>>> s = 'Python'
>>> s[100:]
''
>>> s[2:50]
'thon'

Trên đây là toàn bộ nội dung về cách sử dụng slicing trong Python để tạo chuỗi con.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất