Khi làm việc với các chuỗi trong Python, bạn có thể phải tách một chuỗi thành các chuỗi con. Hoặc bạn có thể cần nối các đoạn nhỏ hơn lại với nhau để tạo thành một chuỗi. con trăn split()
và join()
các phương thức chuỗi giúp bạn thực hiện các tác vụ này một cách dễ dàng.
Trong hướng dẫn này, bạn sẽ tìm hiểu về split()
và join()
phương pháp chuỗi với nhiều mã ví dụ.
Vì các chuỗi trong Python là bất biến, bạn có thể gọi các phương thức trên chúng mà không cần sửa đổi các chuỗi gốc. Bắt đầu nào.
con trăn split()
Cú pháp phương thức
Khi bạn cần tách một chuỗi thành các chuỗi con, bạn có thể sử dụng split()
phương pháp.
Các split()
phương thức hoạt động trên một chuỗi và lợi nhuận một danh sách các chuỗi con. Cú pháp là:
<string>.split(sep,maxsplit)
Trong cú pháp trên:
<string>
là bất kỳ chuỗi Python hợp lệ nào,sep
là dấu phân cách mà bạn muốn tách. Nó nên được chỉ định như là một chuỗi.
Ví dụ, nếu bạn muốn tách
<string>
khi xuất hiện dấu phẩy, bạn có thể đặtsep = ","
.
sep
là một không bắt buộc tranh luận. Theo mặc định, phương pháp này phân tách chuỗi trên khoảng trắng.maxsplit
là một không bắt buộc đối số cho biết số lần bạn muốn tách<string>
.maxsplit
có giá trị mặc định là-1
phân tách chuỗi trên tất cả các sự xuất hiện củasep
.
Nếu bạn muốn chia
<string>
về sự xuất hiện của đầu tiên dấu phẩy, bạn có thể đặtmaxsplit = 1
.
Và thiết lập maxsplit = 1
sẽ để lại cho bạn hai phần – một phần có phần <string>
trước dấu phẩy đầu tiên và một dấu phẩy khác với phần của <string>
sau dấu phẩy đầu tiên.
Khi bạn tách một chuỗi một lần, bạn sẽ nhận được 2 đoạn. Khi bạn tách một chuỗi hai lần, bạn sẽ nhận được 3 đoạn. Khi bạn tách một chuỗi k
lần, bạn sẽ nhận được k+1
miếng, mảnh nhỏ.
▶ Hãy lấy một vài ví dụ để thấy split()
phương pháp trong hành động.
con trăn split()
Ví dụ phương pháp
Hãy bắt đầu với my_string
hiển thị dưới đây.
my_string = "I code for 2 hours everyday"
Bây giờ, hãy gọi cho split()
phương pháp trên my_string
không có đối số sep
và maxsplit
.
my_string.split()

Bạn có thể thấy rằng my_string
đã được phân chia trên tất cả các khoảng trắng và danh sách các chuỗi con được trả về, như được hiển thị ở trên.
▶ Bây giờ chúng ta hãy xem xét ví dụ sau. Đây, my_string
có tên các loại trái cây, cách nhau bởi dấu phẩy.
my_string = "Apples,Oranges,Pears,Bananas,Berries"
Bây giờ chúng ta hãy chia tay my_string
trên dấu phẩy – đặt sep = ","
hoặc chỉ định ","
trong lời gọi phương thức.
my_string.split(",")
Như mong đợi, các split()
phương thức trả về một danh sách các loại trái cây, trong đó mỗi loại trái cây trong my_string
bây giờ là một mục danh sách.

▶ Bây giờ chúng ta hãy sử dụng tùy chọn maxsplit
đối số bằng cách đặt nó bằng 2.
my_string.split(",",2)

Hãy thử phân tích cú pháp danh sách được trả về.
nhớ lại rằng my_string
Là "Apples,Oranges,Pears,Bananas,Berries"
và chúng tôi quyết định phân tách bằng dấu phẩy ( ","
).
- Dấu phẩy đầu tiên là sau
Apples
và sau lần chia đầu tiên, bạn sẽ có 2 mục,Apples
vàOranges,Pears,Bananas,Berries
. - Dấu phẩy thứ hai là sau
Oranges
. Và bạn sẽ có 3 mục,Apples
,Oranges
vàPears,Bananas,Berries
sau lần chia thứ hai. - Tại thời điểm này, bạn đã đạt đến
maxsplit
số lượng là 2 và không thể thực hiện phân tách thêm nữa. - Đây là lý do tại sao phần của chuỗi sau dấu phẩy thứ hai được gộp lại thành một mục duy nhất trong danh sách được trả về.
Tôi hy vọng bạn hiểu làm thế nào các split()
phương thức và đối số sep
và maxsplit
công việc.
con trăn join()
Cú pháp phương thức
Bây giờ bạn đã biết cách tách một chuỗi thành các chuỗi con, đã đến lúc học cách sử dụng join()
phương pháp để tạo thành một chuỗi từ các chuỗi con.
Cú pháp của Python join()
phương pháp là:
<sep>.join(<iterable>)
Đây,
<iterable>
là bất kỳ Python có thể lặp lại nào chứa các chuỗi con, chẳng hạn như danh sách hoặc bộ dữ liệu và<sep>
là dấu phân cách mà bạn muốn nối các chuỗi con trên đó.
Về bản chất, các
join()
phương pháp tham gia tất cả các mục trong<iterable>
sử dụng<sep>
như dải phân cách.
▶ Và đã đến lúc lấy ví dụ.
con trăn join()
Ví dụ phương pháp
Trong phần trước về split()
phương pháp, bạn tách my_string
thành một danh sách về sự xuất hiện của dấu phẩy. Hãy gọi danh sách my_list
.
Bây giờ, bạn sẽ tạo thành một chuỗi bằng cách sử dụng join()
phương pháp để tập hợp các mục trong danh sách được trả về. Các mặt hàng trong my_list
đều là tên các loại trái cây.
my_list = my_string.split(",")
# after my_string is split my_list is:
['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']
📑 Lưu ý rằng dấu phân cách để tham gia phải được chỉ định là chuỗi. Bạn sẽ gặp lỗi cú pháp nếu không làm như vậy, như minh họa bên dưới.
,.join(my_list)

▶ Để tham gia các mục trong my_list
sử dụng dấu phẩy làm dấu phân cách, hãy sử dụng ","
không phải ,
. Điều này được hiển thị trong đoạn mã dưới đây.
", ".join(my_list)
Dòng mã trên tham gia các mục trong my_list
sử dụng dấu phẩy theo sau là khoảng trắng làm dấu phân cách.

Bạn có thể chỉ định bất kỳ dấu phân cách nào bạn chọn. Lần này, bạn sẽ sử dụng 3 dấu gạch dưới (___
) để tham gia các mục trong my_list
.
"___".join(my_list)

Các mặt hàng trong my_list
hiện đã được nối thành một chuỗi duy nhất và tất cả đã được phân tách khỏi nhau bằng một ___
.
Và bây giờ bạn đã biết cách tạo một chuỗi Python bằng cách ghép các chuỗi con lại với nhau bằng cách sử dụng join()
phương pháp.
Phần kết luận
Trong hướng dẫn này, bạn đã học được những điều sau:
<string>.split(sep, maxsplit)
chia tách<string>
về sự xuất hiện củasep
,maxsplit
số lần,<sep>.join(<iterable>)
tham gia chuỗi con trong<iterable>
sử dụng<sep>
như dải phân cách.
Hy vọng bạn tìm thấy hướng dẫn này hữu ích. Chúc mừng mã hóa!