Phương thức split() trong Python chia một chuỗi thành một danh sách. Các giá trị trong danh sách kết quả được tách dựa trên một ký tự phân cách. Mặc định phân cách là khoảng trắng. Các phân cách phổ biến bao gồm khoảng trắng và dấu phẩy.
Tại sao cần tách chuỗi?
Việc chia nội dung của một chuỗi thành danh sách Python là một thao tác phổ biến. Ví dụ, bạn có thể có danh sách nguyên liệu trong một công thức nấu ăn và muốn tách chúng thành một danh sách riêng biệt.
Đó là lúc phương thức split() của chuỗi Python phát huy tác dụng. Phương thức split() cho phép bạn chia một chuỗi thành danh sách các chuỗi con, dựa trên ký tự phân cách bạn chỉ định.
Hướng dẫn này sẽ trình bày, kèm theo ví dụ, các kiến thức cơ bản về hàm split() trong Python. Sau khi đọc xong, bạn sẽ thành thạo việc sử dụng hàm tách chuỗi này.
Chuỗi (String) trong Python
Chuỗi là tập hợp các ký tự. Chúng cho phép bạn lưu trữ và thao tác dữ liệu dạng văn bản trong chương trình Python. Chuỗi là một trong các kiểu dữ liệu trình tự (sequence types) của Python vì chúng lưu trữ dữ liệu theo thứ tự.
Ví dụ về chuỗi trong Python:
example_string = "I am an example string!"
Trong đoạn mã này, chúng ta gán chuỗi "I am an example string!" cho biến example_string.
Chúng ta có thể sử dụng nhiều phương thức chuỗi Python để chia nhỏ chuỗi thành các thành phần. split() là một ví dụ của phương thức chuỗi cho phép chia chuỗi. Hãy khám phá cách phương thức này hoạt động.
Phương thức split() của chuỗi Python
Phương thức split() tách một chuỗi thành một danh sách. Chuỗi được phân tách dựa trên một ký tự phân cách. Mặc định ký tự này là khoảng trắng.
string_name.split(separator, maxsplit)
split() là hàm tích hợp sẵn (built-in function). Điều này có nghĩa là bạn không cần nhập bất kỳ thư viện nào để sử dụng hàm split(). Dưới đây là các thành phần chính của phương thức split():
separatorlà ký tự mà hàmsplit()sẽ dùng để tách các ký tự trong chuỗi. Mặc định, bất kỳ ký tự khoảng trắng nào (khoảng trắng, xuống dòng) sẽ được dùng làm phân cách. Tham số này là tùy chọn.maxsplitxác định số lần tách tối đa nên xảy ra. Mặc địnhmaxsplitbằng -1, nghĩa là số lần tách không giới hạn. Tham số này cũng là tùy chọn.
Phương thức split() của chuỗi Python được thêm vào cuối chuỗi. Đây là cách phổ biến của các phương thức chuỗi. Bạn không đặt chuỗi cần tách bên trong dấu ngoặc của split() như khi in chuỗi. split() chấp nhận hai tham số:
Phương thức split() trả về một bản sao của chuỗi được biểu diễn dưới dạng danh sách. Điều này là do chuỗi là bất biến (immutable), nghĩa là không thể thay đổi. split() không sửa đổi chuỗi gốc của bạn.
Hãy cùng đi qua một vài ví dụ của hàm split() Python để minh họa cách nó hoạt động.
Tách chuỗi Python: Hướng dẫn chi tiết
Giả sử bạn có một chuỗi nguyên liệu cho chiếc bánh muffin chíp sô-cô-la mà bạn muốn chia thành danh sách. Mỗi nguyên liệu được phân cách bằng dấu phẩy trong chuỗi của bạn. Bằng cách sử dụng phương thức split(), bạn có thể chia chuỗi nguyên liệu thành một danh sách.
Hãy chia danh sách nguyên liệu của chúng ta thành chuỗi:
ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",")
print(list_of_ingredients)
Mã của chúng ta trả về:
['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar', ' 400g self-raising flour', ' 100g chocolate chips']
Đầu tiên, chúng ta định nghĩa một biến gọi là ingredients. Biến này lưu trữ danh sách nguyên liệu của chúng ta. Mỗi nguyên liệu trong danh sách được phân cách bằng dấu phẩy (,).
Tiếp theo, chúng ta sử dụng phương thức split() để tách chuỗi ingredients bằng dấu phẩy. Chúng ta dùng tham số separator để nói với Python rằng chuỗi của chúng ta nên được tách bằng dấu phẩy. Sau đó, chúng ta gán kết quả của phương thức split() cho biến list_of_ingredients.
Chúng ta in biến list_of_ingredients ra bảng điều khiển. Bạn có thể thấy mã của chúng ta đã biến chuỗi thành một danh sách với sáu giá trị: một cho mỗi nguyên liệu.
Kiểm soát số lượng chuỗi tách
Chúng ta có thể sử dụng tham số maxsplit để giới hạn số lần chuỗi của chúng ta nên được tách. Giả sử chúng ta chỉ muốn tách ba nguyên liệu đầu tiên trong danh sách. Chúng ta có thể làm như sau:
ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",", 3)
print(list_of_ingredients)
Mã của chúng ta trả về:
['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips']
Chúng ta định nghĩa một giá trị cho tham số maxsplit trong mã của mình. Giá trị của tham số này được đặt là 3. Chúng ta đã định nghĩa dấu phẩy làm ký tự phân cách. Chúng ta đã làm điều này trong ví dụ đầu tiên.
Tham số maxsplit khiến chuỗi của chúng ta được chia thành tối đa ba mục. Sau đó, phần còn lại của chuỗi sẽ được thêm vào cuối danh sách của chúng ta.
Danh sách của chúng ta bây giờ chỉ có bốn mục. Ba mục đầu tiên là các nguyên liệu riêng lẻ, và mục cuối cùng trong danh sách chứa các mục còn lại từ chuỗi gốc của chúng ta.
Kết luận
Phương thức split() của chuỗi Python cho phép bạn chia một chuỗi thành một danh sách tại một phân cách được chỉ định. Ví dụ, bạn có thể dùng split() để tách chuỗi bằng dấu phẩy (,), hoặc bằng chữ cái J.
Hướng dẫn này đã thảo luận về cơ bản của chuỗi trong Python và cách sử dụng phương thức split() của chuỗi. Bây giờ bạn đã sẵn sàng để bắt đầu sử dụng phương thức split() như một chuyên gia Python!