icantech
Lập trình Python
2529
16/11/2023

Tìm hiểu từ A đến Z về chuỗi trong Python

Trong bài viết dưới đây, hãy cùng ICANTECH tìm hiểu về chuỗi trong Python nhé!

1. Giới thiệu về chuỗi trong Python

Trong lập trình máy tính, một chuỗi là một chuỗi các ký tự. Ví dụ, "xin chào" là một chuỗi chứa một chuỗi các ký tự 'x', 'i', 'n', ' ', 'c', 'h', 'à', 'o'.

Chúng ta sử dụng dấu nháy đơn hoặc dấu nháy kép để đại diện cho một chuỗi trong Python.

Ví dụ:

# Tạo một chuỗi đặt trong cặp dấu nháy kép

example = “Hello Python ICANTECH”

Ở đây, chúng ta đã tạo một biến chuỗi có tên là example. Biến này được khởi tạo với chuỗi Hello Python ICANTECH.

2. Các thao tác với chuỗi

Trong Python, chúng ta có thể truy cập từng ký tự của một chuỗi bằng cách sử dụng phương thức Indexing. Indexing cho phép sử dụng địa chỉ âm để truy cập các ký tự từ cuối chuỗi, ví dụ -1 là ký tự cuối cùng, -2 là ký tự thứ hai từ cuối.

Khi truy cập một chỉ mục nằm ngoài phạm vi sẽ gây ra lỗi IndexError. Chỉ có số nguyên được phép làm chỉ mục, nếu truyền số thực hoặc các kiểu dữ liệu khác sẽ gây ra lỗi TypeError.

chuoi-python

Ví dụ:

Trong ví dụ này, chúng ta sẽ định nghĩa một chuỗi trong Python và truy cập các ký tự của nó bằng cách sử dụng indexing dương và indexing âm. Phần tử thứ 0 sẽ là ký tự đầu tiên của chuỗi, trong khi phần tử thứ -1 là ký tự cuối cùng của chuỗi.

# Ví dụ truy cập phần tử trong chuỗi

example = "Learn Python ICANTECH"

print("Chuỗi ban đầu: ")

print(example)

# Truy cập kí tự đầu tiên

print("\nKí tự đầu tiên là: ")

print(example[0])

# Truy cập kí tự cuối cùng

print("\nKí tự cuối cùng là: ")

print(example[-1])

Kết quả:

Chuỗi ban đầu: 

Learn Python ICANTECH

Kí tự đầu tiên là: 

L

Kí tự cuối cùng là: 

H

3. Cắt chuỗi trong Python

Việc cắt chuỗi trong Python liên quan đến việc lấy một chuỗi con từ chuỗi đã cho bằng cách cắt nó từ đầu đến cuối tương ứng.

Cắt chuỗi trong Python có thể thực hiện bằng hai cách:

  • Sử dụng phương thức slice()
  • Sử dụng cú pháp slicing của mảng [::]

Bảng theo dõi chỉ mục cho index dương và index âm: Indexing và slicing chuỗi trong Python. Ở đây, chỉ mục âm được xem xét khi theo dõi chuỗi theo chiều ngược.

3.1. Cắt chuỗi sử dụng hàm dựng slice()

Hàm dựng slice() tạo ra một đối tượng slice đại diện cho tập hợp các chỉ mục được xác định bởi range(start, stop, step).

Cú pháp:

slice(stop)

slice(start, stop, step)

Tham số:

 

start: Chỉ mục bắt đầu cắt đối tượng.

stop: Chỉ mục kết thúc cắt đối tượng.

step: Đây là một đối số tùy chọn xác định sự gia tăng giữa mỗi chỉ mục để cắt.

Loại trả về: Trả về một đối tượng đã cắt chứa các phần tử trong khoảng chỉ định.

Ví dụ:

# Ví dụ cắt chuỗi 

String = ‘ASTRING’ 

# Sử dụng hàm dựng slide()

s1 = slice(3)

s2 = slice(1, 5, 2)

s3 = slice(-1, -12, -2) 

print("String slicing")

print(String[s1])

print(String[s2])

print(String[s3])

Kết quả:

String slicing

AST

SR

GITA

3.2. Cắt chuỗi sử dụng phương pháp slicing của List/mảng [::]

Trong Python, cú pháp indexing có thể được sử dụng như một phương tiện thay thế cho đối tượng slice. Đây là một cách dễ dàng và thuận tiện để cắt chuỗi bằng cách sử dụng cú pháp và thực thi cả về mặt cú pháp lẫn thực hiện. Cơ chế của start, end và step tương tự như constructor slice().

Cú pháp:

arr[start:stop] # cắt và lấy các phần tử từ start đến stop-1

arr[start:] # cắt chuỗi và lấy các phần tử từ start đến hết mảng

arr[:stop] # cắt chuỗi và lấy các phần tử từ đầu đến stop-1

arr[:] # tạo một bản sao của toàn bộ mảng

arr[start:stop:step] # cắt chuỗi và lấy từ start đến không vượt quá stop, với bước là step

Ví dụ 1:

Trong ví dụ này, chúng ta sẽ thấy cách sử dụng slicing trong danh sách Python, với chỉ mục bắt đầu từ 0 và kết thúc ở chỉ mục 2 (dừng lại ở 3-1=2).

# String slicing

String = 'PYTHONICANTECH'

# Using indexing sequence

print(String[:3])

Kết quả:

PYT

Ví dụ 2:

Trong ví dụ này, chúng ta sẽ xem cách bắt đầu từ chỉ mục 1 và kết thúc ở chỉ mục 5 (dừng lại ở 3-1=2), với bước nhảy là 2. Đây là một ví dụ tốt về cách cắt chuỗi trong Python theo ký tự.

# String slicing

String = 'PYTHONICANTECH'

# Using indexing sequence

print(String[1:5:2])

Kết quả:

YH

Ví dụ 3:

Trong ví dụ này, chúng ta sẽ xem cách bắt đầu từ chỉ mục -1 và kết thúc ở chỉ mục -12 (dừng lại ở 3-1=2), với bước nhảy là -2.

# String slicing

String = 'PYTHONICANTECH'

# Using indexing sequence

print(String[-1:-12:-2])

Kết quả:

HENCNH

Ví dụ 4:

Trong ví dụ này, toàn bộ chuỗi sẽ được in ra theo thứ tự ngược lại.

# String slicing

String = 'PYTHONICANTECH'

# Using indexing sequence

print(String[::-1])

Kết quả:

HCETNACINOHTYP

3.3. Cắt chuỗi sử dụng hàm islice()

Hàm islice() là một hàm tích hợp trong module itertools. Nó được sử dụng để có được một bộ lặp là một dạng cắt dựa trên chỉ mục của bất kỳ đối tượng có thể lặp nào. Nó hoạt động giống như một cắt tiêu chuẩn nhưng trả về một bộ lặp.

Cú pháp:

itertools.islice(iterable, start, stop[, step])

Tham số:

iterable: Bất kỳ dãy có thể lặp nào như danh sách, chuỗi, tuple, v.v.

start: Chỉ mục bắt đầu cho việc cắt của đối tượng có thể lặp.

stop: Chỉ mục kết thúc cho việc cắt của đối tượng có thể lặp.

step: Một đối số tùy chọn. Nó xác định khoảng cách giữa mỗi chỉ mục để cắt.

Loại trả về: Trả về một bộ lặp từ dãy có thể lặp đã cho.

Ví dụ:

import itertools

 # Sử dụng islice()

String = 'PYTHONICANTECH'

 print(''.join(itertools.islice(String, 3, 7)))

Kết quả:

HONI

4. Lời Kết

Như vậy, bài viết đã giới thiệu tới các bạn về chuỗi trong Python và thao tác cắt chuỗi. Chuỗi là một kiểu dữ liệu không thể thiếu trong bất kì chương trình lập trình nào. Vì vậy hãy ứng dụng thật tốt các thông tin trên để tối ưu chương trình của mình nhé. Chúc các bạn thành công!

Nếu bạn đang quan tâm đến học lập trình thì hãy tham khảo ngay các khóa học lập trình online tại ICANTECH nhé!

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình Python

Bài tương tự