× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Cách nối vào một chuỗi trong Python

05/06/2023 01:23

Tìm hiểu cách nối thêm chuỗi trong Python và nối chuỗi trong bài viết này. Chúng tôi so sánh các phương pháp nối thêm chuỗi khác nhau và thảo luận xem bạn nên sử dụng phương pháp nào trong từng tình huống.

Chuỗi trong Python là gì?

Hãy bắt đầu với một bồi dưỡng nhanh chóng. Chuỗi là một kiểu dữ liệu trong Python đại diện cho văn bản. Chúng được định nghĩa bằng cách đặt một chuỗi các từ trong dấu ngoặc kép. Cả dấu ngoặc đơn và dấu ngoặc kép đều hoạt động – yêu cầu duy nhất là sử dụng cùng một ký tự ở cả hai đầu của chuỗi.

Dưới đây là một số ví dụ về chuỗi và cách chúng ta có thể sử dụng chúng để hiển thị văn bản trên bảng điều khiển:

greeting = "Hello, World!"
name = "Juliano"
 
print(greeting, "My name is", name)
 
# output:
# Hello, World! My name is Juliano

Bây giờ chúng ta đã hiểu rõ về chuỗi là gì, hãy khám phá cách chúng ta có thể nối thêm vào một chuỗi trong Python.

Sử dụng Toán tử Cộng để Nối vào Chuỗi trong Python

Cách đơn giản nhất để nối vào một chuỗi trong python là sử dụng toán tử + (cộng). Thay vì hoạt động như một phép cộng toán học, trong Python toán tử + được sử dụng để nối các chuỗi lại với nhau. Điều này có nghĩa là bạn có thể sử dụng nó để nối chuỗi này với chuỗi khác.

Đây là một ví dụ về toán tử + trong thực tế:

first_name = "John"
last_name = "Smith"
full_name = first_name + last_name
 
print(full_name)
 
# output:
# JohnSmith

Như bạn có thể thấy, chúng ta đã thêm chuỗi " Smith" vào chuỗi " John". Ngoài ra, lưu ý cách không có khoảng cách giữa tên và họ. Python không cố gắng "đoán" xem chúng ta có thể muốn nối hai chuỗi lại với nhau như thế nào; nó chỉ đơn giản là nối chúng chính xác như chúng vốn có.

Nếu chúng ta muốn thêm khoảng cách giữa họ và tên, chúng ta cần thực hiện thủ công. Đó là những gì chúng tôi đã thực hiện trong ví dụ dưới đây:

first_name = "John"
last_name = "Smith"
full_name = first_name + " " + last_name
 
print(full_name)
 
# output:
# John Smith

Nối các chuỗi nhiều lần bằng toán tử Plus

Nếu bạn có một danh sách các chuỗi, bạn có thể sử dụng toán tử + để nối tất cả các chuỗi lại với nhau. Trong trường hợp này, bạn cần bắt đầu với một chuỗi "mẫu", thường bắt đầu trống và được thêm vào trong mỗi lần lặp lại.

Đây là giao diện của nó:

names = ["Adam""Paul""Steve"]
template = ""
 
for name in names:
    template = template + name
print(template)
 
# output:
# AdamPaulSteve

Như trong ví dụ trước của chúng tôi, chúng tôi cần thêm dấu cách theo cách thủ công nếu muốn tách từng từ:

names = ["Adam""Paul""Steve"]
template = ""
 
for name in names:
    template = template + name + " "
print(template)
 
# output:
# Adam Paul Steve

Điều gì sẽ xảy ra nếu chúng ta muốn nối các chuỗi lại với nhau theo thứ tự ngược lại? Một tùy chọn sẽ là chuyển vị trí trên mẫu và chuỗi tên, như thế này:

names = ["Adam""Paul""Steve"]
template = ""
 
for name in names:
    template = name + template
print(template)
 
# output:
# StevePaulAdam

Nối vào Chuỗi so với Nối vào Danh sách trong Python

Có một điểm khác biệt quan trọng giữa việc nối thêm vào chuỗi và nối thêm vào danh sách trong Python. Vì chuỗi là kiểu dữ liệu bất biến (tức là bản thân chuỗi không thể thay đổi), toán tử + luôn trả về một chuỗi mới được tạo. Để so sánh, việc thêm dữ liệu vào danh sách bằng append()phương pháp này hoạt động tại chỗ, vì danh sách là loại dữ liệu có thể thay đổi (nghĩa là có thể thay đổi).

Đoạn mã dưới đây minh họa sự khác biệt này:

my_string = "abc"
my_list = ["a""b""c"]
 
new_characters = ["d""e"]
 
# Strings are immutable: must write returned value to variable.
for char in new_characters:
    my_string = my_string + char
print(my_string)
 
# output:
# "abcde"
 
# Lists are mutable: no need to write returned value to variable.
for char in new_characters:
    my_list.append(char)
print(my_list)
 
# output:
# ['a', 'b', 'c', 'd', 'e']

Lưu ý rằng, trong vòng lặp đầu tiên, chúng ta cần nắm bắt đầu ra từ phép toán my_string + charvào cùng một biến my_string. Ngược lại, chúng ta không cần chỉ định giá trị trả về của my_list.append(char), vì my_listnó đã được sửa đổi tại chỗ. Hãy ghi nhớ chi tiết này nếu bạn từng thắc mắc tại sao mình không thể nối thêm vào một chuỗi – có thể bạn đã quên ghi đầu ra vào một biến!

Sử dụng phương thức nối () để nối nhiều chuỗi cùng một lúc

Trong một số trường hợp, chúng ta có thể cần nối nhiều loại vào một chuỗi trong khi chèn dấu phân cách giữa mỗi lần thêm. Giả sử chúng ta có một danh sách các từ mà chúng ta muốn thêm các từ khác vào. Chúng tôi có thể muốn tạo một chuỗi mới bằng cách thêm dấu phẩy và khoảng trắng giữa mỗi từ.

Đây là cách chúng ta có thể làm điều này với những gì chúng ta đã học được cho đến nay:

fruits = ["apple""orange""pear"]
final_string = ""
 
for fruit in fruits:
    final_string = final_string + fruit + ", "
 
print(final_string)
# output:
# apple, orange, pear,

Đoạn mã trên hoạt động ... phần nào. Chuỗi cuối cùng chứa dấu phẩy ở cuối, từ lần lặp lại cuối cùng của vòng forlặp. Chúng ta có thể thêm một số logic để loại bỏ dấu phẩy ở cuối trong thao tác cuối cùng, nhưng có một cách tốt hơn.

Chúng ta có thể sử dụng join()phương pháp chuỗi để nối danh sách các chuỗi - trong khi xử lý các trường hợp định dạng và cạnh! Đây là mã giống như trên, nhưng join()thay vào đó sử dụng phương thức:

fruits = ["apple""orange""pear"]
final_string = ", ".join(fruits)
 
print(final_string)
# output:
# apple, orange, pear

Thành công! Mã không chỉ đơn giản hơn khi sử dụng join()phương thức, nó còn giải quyết vấn đề về ký tự ở cuối cho chúng tôi.

Hãy chú ý đến cú pháp: chúng tôi viết các ký tự phân cách " " và sau đó gọi join()phương thức trên chúng. Danh sách các từ thực sự là một đối số cho join()phương thức.

Phương pháp này join()được ưa thích bất cứ khi nào chúng ta có một danh sách các chuỗi để nối và chúng ta muốn có một ký tự phân cách chung ở giữa chúng. Nếu bạn hoàn toàn không muốn một ký tự phân tách, bạn luôn có thể sử dụng một chuỗi trống, ví dụ: "".join(fruits).

Đó là nội dung của bài viết – chúng tôi hy vọng bây giờ bạn đã hiểu các cách khác nhau mà bạn có thể thêm vào một chuỗi trong Python, cũng như ưu và nhược điểm của từng phương pháp