Professional Documents
Culture Documents
10
Khái niệm
11
Khái niệm
◼ Các kí tự trong chuỗi là các kí tự thuộc bảng mã Unicode
hoặc bảng mã ASCII.
◼ Chuỗi trong Python có hỗ trợ tiếng Việt.
◼ Kí tự trong chuỗi được đánh chỉ số thứ tự bắt đầu bằng chỉ
số 0, 1, … (theo hướng từ trái sang phải) và bắt đầu từ -1,
-2, … (theo hướng từ phải sang trái).
◼ Số kí tự trong chuỗi được gọi là độ dài của chuỗi đó.
T u h o c P y t h o n
Chỉ 0 1 2 3 4 5 6 7 8 9 10 11 12
số
-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
12
Khái niệm
◼ Ví dụ 1:
◼ Kết quả
13
Khái niệm
◼ Ví dụ 2:
◼ Kết quả:
14
Độ dài chuỗi
15
Truy cập đến từng phần tử trong chuỗi
Truy cập đến các phần tử của chuỗi thông qua chỉ số
<biến chuỗi> [chỉ số]
Như vậy, nếu đặt n là độ dài của chuỗi, thì các chỉ số
của kí tự được đánh từ 0, 1, …, n – 1 (theo hướng từ
trái sang phải) và đánh chỉ số từ -1, -2, …, – n (theo
hướng từ phải sang trái)
Ví dụ:
16
Các phép toán trên chuỗi
17
Các phép toán trên chuỗi
18
Các phép toán trên chuỗi
b. So sánh chuỗi
◼ So sánh chuỗi được thực hiện bằng cách lần lượt so sánh các
kí tự từ trái sang phải. Nếu gặp một cặp kí tự không bằng
nhau thì chuỗi nào chứa kí tự lớn hơn sẽ là chuỗi lớn hơn. Nếu
một chuỗi là phần đầu của của chuỗi kia thì chuỗi đó nhỏ hơn.
Kết quả:
19
Các phép toán trên chuỗi
c. Lấy chuỗi con
◼ Để lấy chuỗi con gồm các kí tự liên tiếp từ chỉ số a
đến chỉ số b – 1 (a ≤ b) ta thực hiện:
<biến chuỗi> [a: b]
◼ Ví dụ:
20
Các phép toán trên chuỗi
Chú ý
Lấy a kí tự đầu của chuỗi
<biến chuỗi>[: a]
tức là cũng bằng câu lệnh <biến chuỗi>[0: a].
Lấy các kí tự từ chỉ số a đến cuối chuỗi
<biến chuỗi>[a:]
Như vậy
<biến chuỗi>[: a] + <biến chuỗi>[a:] == <biến chuỗi>
<biến chuỗi>[:] == <biến chuỗi>.
21
Các phép toán trên chuỗi
Kết quả:
22
Các phép toán trên chuỗi
❖ Lấy chuỗi con (Dạng tham số)
<biến chuỗi>[a: b: c]
23
Các phép toán trên chuỗi
<biến chuỗi>[: : - 1]
24
Các phép toán trên chuỗi
Ví dụ:
25
Bài tập
◼ Nhập vào một chuỗi gồm các kí tự số và kí tự chữ cái La-tinh thường
‘a’, ‘b’, … ‘z’. Hãy tách chuỗi được nhập vào thành hai chuỗi, một
chuỗi chỉ gồm các kí tự chữ số, chuỗi còn lại gồm các kí tự chữ cái
26
Bài tập
◼ Một chuỗi được gọi là chuỗi đối xứng nếu đọc chúng từ trái sang phải
cũng giống như đọc từ phải sang trái. Ví dụ: “madam”, “1221” là các
chuỗi đối xứng, chuỗi “12334” không phải là một chuỗi đối xứng. Viết
chương trình nhập vào một chuỗi và kiểm tra xem có phải là chuỗi
đối xứng hay không?
27
Bài tập
Bài tập 2. Chuỗi đối xứng (cách 1)
28
Bài tập
Bài tập 2. Chuỗi đối xứng (cách 2)
29
Bài tập
◼ Cho một chuỗi str1 gồm các kí tự chữ cái La-tinh thường.
Ta thực hiện nén chuỗi theo quy tắc sau: với một dãy các kí
tự giống nhau liên tiếp, ta sẽ thay thế dãy này bằng:
30
Bài tập
◼ Cho chuỗi str2 được nén bởi chuỗi str1 theo quy tắc trên
(bài tập 3). Hãy đưa ra chuỗi str1.
31
Một số thao tác với chuỗi
1.Tách chuỗi
❖ Phương thức: <biến chuỗi>. split( )
32
Một số thao tác với chuỗi
33
Một số thao tác với chuỗi
Ví dụ:
34
Một số thao tác với chuỗi
Ví dụ:
35
Một số thao tác với chuỗi
36
Một số thao tác với chuỗi
Trả về chuỗi sau khi chuyển đổi các kí tự đầu tiên của các từ
thành kí tự hoa.
37
Một số thao tác với chuỗi
Ví dụ:
38
Một số thao tác với chuỗi
3. Phép toán in
Phép toán: str1 in st trả về True nếu str1 là chuỗi con của
st; ngược lại, phép toán trả về giá trị False.
39
Một số thao tác với chuỗi
40
Một số thao tác với chuỗi
Ví dụ:
42
Một số thao tác với chuỗi
Chú ý:
Phương thức st.index(str1) cũng trả về vị trí chỉ số đầu
tiên của chuỗi str1 xuất hiện trong st, nhưng khi str1
không xuất hiện trong st thì chương trình sẽ báo lỗi.
43
Một số thao tác với chuỗi
6. Phương thức thay thế
Phương thức
<biến chuỗi>.replace (str_old, str_new)
Trả về chuỗi được tạo thành bằng cách thay thế tất cả các
chuỗi con str_old bằng chuỗi str_new trong <biến chuỗi>.
❖ Tham số với phương thức replace()
Phương thức
<biến chuỗi>.replace(str_old, str_new, num_max)
Trả về một chuỗi được tạo thành bằng cách thay thế tất cả
các chuỗi con str_old bằng chuỗi str_new nhưng số lần thay
thế nhiều nhất là num_max. Việc thay thế sẽ thực hiện lần
lượt đối với các chuỗi con từ trái sang phải.
44
Một số thao tác với chuỗi
45
Một số thao tác với chuỗi
48
Một số thao tác với chuỗi
❖ Chú ý
◼ Python còn cung cấp một phương thức thêm các kí tự
‘0’ vào bên trái. Điều này hay gặp khi thực hiện các
chuỗi là các kí tự số.
◼ Phương thức
<biến chuỗi>.zfill(width)
◼ Trả về chuỗi có độ dài width bằng cách thêm vào các
kí tự chữ số 0 vào bên trái <biến chuỗi>
49
Một số thao tác với chuỗi
9. Một số phương thức is_
Phương thức <biến chuỗi>.isdigit()
◼ Trả về giá trị True nếu <biến chuỗi> chỉ chứa các kí tự chữ số,
ngược lại trả về giá trị False.
Phương thức <biến chuỗi>.isspace()
◼ Trả về giá trị True nếu <biến chuỗi> chỉ chứa các kí tự trắng,
ngược lại trả về giá tị False.
Phương thức <biến chuỗi>.islower()
◼ Trả về giá trị True nếu <biến chuỗi> chỉ chứa các kí tự chữ
thường, ngược lại trả về giá trị False.
Phương thức <biến chuỗi>.isupper()
◼ Trả về giá trị True nếu <biến chuỗi> chỉ chứa các kí tự chữ
hoa, ngược lại trả về giá trị False.
50
Một số thao tác với chuỗi
51
Một số thao tác với chuỗi
52
Bài tập 1: Tách từ trong chuỗi
53
Bài tập 1: Tách từ trong chuỗi
54
Bài tập 2: Tính tổng các chữ số
55
Bài tập 3: Chuỗi hoán vị
56
Bài tập
57