Chuỗi là một trong những kiểu dữ liệu cơ bản trong Python. Chuỗi Python là sự kết hợp của bất kỳ số ký tự nào được tạo từ các chữ cái, chữ số và các ký tự đặc biệt khác. Trong hướng dẫn này, bạn sẽ học cách tạo, thao tác và định dạng chúng để sử dụng trong các tình huống khác nhau.
Tạo chuỗi mới bằng Python
Để tạo một chuỗi Python mới, bạn chỉ cần khai báo một chuỗi các ký tự được đặt trong dấu ngoặc kép đơn hoặc kép. Dấu ngoặc kép cũng được sử dụng cho các chuỗi dài nhiều dòng.
double_quotes = "My name is John!"
single_quotes = 'My name is John!'
multi_line_string = '''1. My name is John!
2. I am a programmer'''
Lập chỉ mục chuỗi
Mọi ký tự trong một chuỗi Python đều có một chỉ mục số nguyên. Việc lập chỉ mục bắt đầu từ 0 ở ký tự đầu tiên và tăng dần dọc theo chuỗi. Bạn có thể sử dụng chỉ mục của một ký tự riêng lẻ để truy xuất ký tự đó từ chuỗi như ví dụ sau cho thấy.
myPet = "Dog not a cat"
myPet[0] # 'D'
myPet[5] # 'o'
myPet[7] # ' '
myPet[12] # 't'
# myPet[15] # IndexError
Cố gắng truy cập vào một ký tự ngoài chỉ mục của ký tự cuối cùng dẫn đến IndexError .
Bạn có thể truy cập một ký tự trong một chuỗi bằng cách sử dụng chỉ mục âm. Trong trường hợp này, chỉ mục bắt đầu từ -1 ở ký tự cuối cùng của chuỗi và tăng âm khi bạn lùi lại.
myPet = "Dog not a cat"
myPet[-1] # 't'
myPet[-6] # ' '
myPet[-8] # 'o'
myPet[-13] # 'D'
Cắt chuỗi
Slicing là phương pháp trích xuất một chuỗi con (một phần của chuỗi) từ một chuỗi. Nhiệm vụ này đạt được với sự trợ giúp của lập chỉ mục chuỗi.
myPet = "Dog not a cat"
myPet[5:7] # 'ot'
myPet[1:12] # 'og not a ca'
Ở đây, hai chỉ mục được cung cấp cách nhau bằng dấu hai chấm, chỉ mục đầu tiên cho biết nơi bắt đầu cắt và chỉ mục thứ hai cho biết nơi dừng. Chuỗi con kết quả bao gồm các ký tự từ chỉ mục bắt đầu đến ký tự trước chỉ mục kết thúc, ký tự ở chỉ mục kết thúc không được bao gồm trong chuỗi con.
Nếu bạn không cung cấp chỉ mục bắt đầu, quá trình cắt sẽ bắt đầu từ ký tự đầu tiên của chuỗi. Nếu bạn không cung cấp chỉ mục kết thúc, việc cắt sẽ kết thúc ở ký tự cuối cùng trong khi đưa nó vào chuỗi con kết quả.
myPet = "Dog not a cat"
myPet[:7] # 'Dog not'
myPet[10:] # 'cat'
myPet[:] # 'Dog not a cat'
Bạn cũng có thể cung cấp các chỉ số phủ định dưới dạng các chỉ số cắt.
myPet = "Dog not a cat"
myPet[10:-1] # 'ca'
Độ dài của một chuỗi
Phương thức Python tích hợp sẵn len()
xuất ra độ dài của một chuỗi.
myPet = "Dog not a cat"
len(myPet) # 13
Lặp lại qua một chuỗi
Bạn có thể lặp lại từng ký tự trong một chuỗi bằng cách sử dụng for
vòng lặp.
Ví dụ:
name = "John"
for char in name:
print(char)
# 'J', 'o', 'h', 'n'
Kết nối chuỗi
Nối chuỗi là việc nối hai hoặc nhiều chuỗi để tạo ra một chuỗi duy nhất. Trong Python, có một số phương pháp để nối các chuỗi.
Một là sử dụng +
nhà điều hành.
str1 = 'Hello'
str2 = 'World'
concat_str = str1 + str2 # 'HelloWorld'
concat_str = str1 + ' ' + str2 # 'Hello World'
Bạn có thể sử dụng *
toán tử để nối một chuỗi với chính nó bất kỳ số lần nào.
concat_str = str1*3 # 'HelloHelloHello'
Một cách khác để nối các chuỗi là thông qua join()
phương pháp.
join()
tích hợp sẵn phương thức được sử dụng để nối một mảng chuỗi bằng dấu phân tách chung.
arr = [str1, str2]
concat_str = (' ').join(arr) # 'Hello World'
concat_str = (',').join(arr) # 'Hello,World'
Trong đoạn mã trên, join()
đầu tiên phương thức thêm khoảng trắng giữa mọi từ trong mảng.
join()
thứ hai phương thức chèn dấu phẩy giữa mỗi từ trong mảng.
String và Int Concatenation
Trong Python, chúng ta cũng có thể nối một chuỗi với một số nguyên nhưng không nối với +
nhà điều hành. Nếu chúng tôi cố gắng sử dụng mã sau:
name = "John"
age = 35
print(a + b)
Chúng tôi sẽ nhận được:
Traceback (most recent call last):
File "concat.py", line 5, in <module>
print(a + b)
TypeError: can only concatenate str (not "int") to str
Lưu ý:Bạn không thể nối một chuỗi và một số nguyên bằng cách sử dụng +
nhà điều hành.
Để tránh lỗi này, chúng ta có thể sử dụng str()
để chuyển đổi số nguyên thành chuỗi, ví dụ:
name = "John "
age = "35"
print(a + str(b)) #John 35
Cách Tách Chuỗi
split()
tích hợp sẵn phương thức được sử dụng để tách một chuỗi đơn thành một mảng chuỗi.
string = "My name is John"
split_arr = string.split(' ') # ['My', 'name', 'is', 'John']
We can also split a string using a separator:
string = "John, Rose, Jack, Mary"
split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']
Dải - Xóa Khoảng trắng
strip()
, phương thức chuỗi tích hợp được sử dụng để xóa khoảng trắng từ đầu và cuối chuỗi.
string = " Hello, World "
stripper_str = string.strip() # 'Hello, World'
Như bạn thấy, strip()
không xóa khoảng trắng ở giữa các ký tự khác mà chỉ xóa ở hai đầu.
Có hai biến thể của strip()
phương pháp, Dải trái và Dải phải:
-
lstrip()
-
rstrip()
Các phương pháp này lần lượt loại bỏ các khoảng trắng ở bên trái và bên phải của chuỗi.
Ví dụ:
lsplit_str = string.lstrip() # 'Hello, World '
rsplit_str = string.rstrip() # ' Hello, World'
Phương thức dải đặc biệt hữu ích khi đọc đầu vào của người dùng, trong đó người dùng có thể chuyển thêm khoảng trắng.
Định dạng chuỗi
Định dạng format()
của Python phương thức được sử dụng để định dạng một chuỗi. Dấu ngoặc nhọn {}
được sử dụng bên trong chuỗi cần được định dạng làm trình giữ chỗ cho phần cần được thay thế bằng các đối số được cung cấp cho format()
phương pháp.
Ví dụ:
"Hello, {}".format('John') # 'Hello, John'
Trong ví dụ trên {}
được thay thế bằng 'John' trong chuỗi được định dạng.
Bạn có thể sử dụng nhiều hơn một dấu ngoặc nhọn bên trong chuỗi để định dạng. Chúng được thay thế bằng các đối số được cung cấp cho format()
phương thức theo thứ tự đã cho (nếu không có chỉ số vị trí nào được đề cập bên trong dấu ngoặc nhọn) hoặc thứ tự vị trí.
Ví dụ:
"I have a {}, {}, and a {}".format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit'
"I have a {1}, {0}, and a {2}".format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'
Thay vì sử dụng các chỉ mục, bạn có thể cung cấp các đối số từ khóa cho format()
để các từ khóa đó có thể được sử dụng bên trong dấu ngoặc nhọn.
Ví dụ:
print("{friend} is my friend and {enemy} is my enemy".format(friend="John", enemy="Jack"))
# 'John is my friend and Jack is my enemy'
Định dạng format()
phương pháp này khá linh hoạt vì nó có thể được sử dụng cho nhiều trường hợp sử dụng.
Dưới đây là một số ứng dụng khác của format()
phương pháp:
arr = [3, 5]
'I have {0[0]} dogs and {0[1]} cats'.format(arr)
# 'I have 3 dogs and 4 cats'
#convert numbers to different bases
"int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)
# 'int: 42; hex: 2a; oct: 52; bin: 101010'
Chuyển chuỗi thành chữ thường
Sử dụng lower()
của Python , bạn có thể chuyển đổi một chuỗi thành chữ thường.
Ví dụ:
string = "Hello, World!"
string.lower() # 'hello, world!'
Chuyển một chuỗi thành chữ hoa
Tương tự, sử dụng upper()
của Python , bạn có thể chuyển đổi một chuỗi thành chữ hoa.
Ví dụ:
string = "Hello, World!"
string.upper() # 'HELLO, WORLD!'
Kết luận
Tôi hy vọng rằng với sự trợ giúp của hướng dẫn này, bây giờ bạn đã quen với chuỗi Python và cách sử dụng các phương thức khác nhau cho các hoạt động chuỗi.
Tham khảo:Tài liệu chuỗi của Python