You are on page 1of 11

BÀI 8 KIỂU DỮ LIỆU CHUỖI

1. ĐỊNH NGHĨA CHUỖI:

- Chuỗi: là dãy các kí tự trong bảng mã ASCII hoặc Unicode (chính vì vậy chuỗi
trong Python có hỗ trợ tiếng Việt).

- Mọi kí tự nằm trong “” (ngoặc kép), hoặc ‘’ (ngoặc đơn) đều được xem là
chuỗi trong Python.

- Chuỗi rỗng là chuỗi không có kí tự nào.

VD: ’Hello’, “11A1”, “1”, “!” “ ”…..

Biến chuỗi Hằng chuỗi

LƯU Ý: PYTHON KHÔNG HỖ TRỢ KIỂU KÝ TỰ CHAR, MỖI KÝ TỰ TRONG PYTHON


ĐƯỢC COI NHƯ MỘT CHUỖI VỚI ĐỘ DÀI LÀ 1.

2. VỊ TRÍ CÁC PHẦN TỬ TRONG KIỂU CHUỖI

- Chuỗi trong Python có chỉ số của vị trí bắt đầu là 0 và kết thúc là độ dài chuỗi
trừ đi 1.
- Python cũng áp dụng kiểu chỉ số của vị trí là số âm, đi ngược từ cuối chuỗi,
với vị trí bắt đầu là -1 cho đến vị trí đầu chuỗi.

Ví dụ:

Cho trước 1 chuỗi s có giá trị “python”.

Giá trị p y t h o n

Chỉ số dương 0 1 2 3 4 5

Chỉ số âm -6 -5 -4 -3 -2 -1

3. TRUY XUẤT CÁC PHẦN TỬ TRONG CHUỖI

4. ĐỂ TRUY XUẤT MỘT PHẦN TỬ TRONG CHUỖI:

Cú pháp: s[chỉ số] với s là biến kiểu chuỗi.

Ví dụ: Hãy thực thi đoạn code sau và cho biết kết quả:

s = "python"

print(s[1]) #Kết quả là:--------------

print(s[-1]) #Kết quả là:--------------


5. DUYỆT CÁC KÝ TỰ TRONG CHUỖI

Dùng vòng lặp for hay while để duyệt các ký tự trong chuỗi ở Python.

 Dùng for

Ví dụ:

s = "dammio"

# Lấy mỗi ký tự đặt vào biến char và hiển thị

for char in s:

     print (char)

hoặc:

for i in range(len(s)):

     print (s[i])

6. LẤY MỘT CHUỖI CON:

+ Để Lấy một chuỗi con gồm các kí tự liên tiếp từ chỉ số index1 đến chỉ số index2 -1
(index1<=index2)

Cú pháp: s[index1: index2:c] 

Trong đó:

- s: là biến kiểu chuỗi.

- index1, index2: là vị trí bắt đầu và kết thúc. Nếu index1 hoặc index2 thiếu có
nghĩa là vị trí mặc định, index1 mặc định là 0, index2 mặc định là vị trí cuối
chuỗi.

- c: bước nhảy
Ví dụ 1: Hãy thực thi đoạn code sau và cho biết kết quả:

s = "dammio"

print(s[0:6:2])

#Kết quả là:-------------

print(s[6:0:-1])

#Kết quả là:-------------

 print(s[2:4])

#Kết quả là:-------------

 print(s[-1:])

#Kết quả là:-------------

 print(s[2:])

#Kết quả là:-------------

 print(s[:-2])

#Kết quả là:-------------

 print(s[:])

#Kết quả là:-------------

#Chuỗi tương ứng với chuỗi s[0:] hoặc s hoặc s[0:len(s)].


Ví dụ 2: Cho

s = "Python is simple"

s1=input("Nhap ten ban nao:")

Viết lệnh thực hiện các yêu cầu sau:

a. Lấy 3 kí tự đầu của chuỗi s


_____________________________________________________________

b. Lấy 3 kí tự đầu của chuỗi s1


_____________________________________________________________

c. Lấy 3 kí tự cuối của chuỗi s


_____________________________________________________________

d. Lấy 3 kí tự cuối của chuỗi s1


_____________________________________________________________

1. Phép toán trong chuỗi:

- Ghép chuỗi: +

- Lặp chuỗi: *

- So sánh: >,>=, <, <=, ==, !=

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 chuỗi
kia thì chuỗi đó nhỏ hơn.

- Toán tử in/ not in Kiểm tra sự tồn tại của chuỗi trong chuỗi

Ví dụ 1: kiểm tra xem cụm từ "python" có tồn tại trong chuỗi sau không:

str1 = "hoc lap trinh python string."

x = "python" in str1

print(x)

àKết quả: True

Ví dụ 2: kiểm tra xem cụm từ "python" không tồn tại trong chuỗi sau
không:

str1 = "hoc lap trinh python string."

x = "python" not in str1

print(x)

àKết quả:False

5. Một số phương thức thông dụng để thao tác với String trong
Python

a. Phương thức Nhập/ Xuất chuỗi

Hàm input() / print () .

Ví dụ:

print("Ten cua ban:")

x = input()

print("Xin chào ", x)

b. Phương thức len(tên chuỗi)

Phương thức len() trả về độ dài của chuỗi.

Ví dụ:
s = "dammio"

print(len(s)) #kết quả là 6

c. Phương thức lower(), upper()

Hai phương thức này dùng để chuyển thành chuỗi viết THƯỜNG hoặc In HOA.

Ví dụ:

s = "Dammio"

print(s.lower()) #Kết quả: dammio

print(s.upper()) #Kết quả: DAMMIO

d. Phương thức .title()

 Trả về một bản sao của chuỗi trong đó tất cả ký tự đầu tiên của tất cả các từ được
chuyển thành chữ hoa.

Ví dụ :

str1 = "    Vi du ham PYTHON "

print (str1.title())

str1 = "----Vi du ham python ----"

print (str1.title())

Chạy chương trình Python trên sẽ cho kết quả:

Vi Du Ham Python Swapcase()

----Vi Du Ham Python Swapcase()----

e. Phương thức replace()

Phương thức này dùng để thay thế chuỗi này bằng một chuỗi khác.

Ví dụ:
a = "dammio"

print(a.replace("m", "b")) #kết quả: dabbio

f. Phương thức strip()

Loại bỏ bất kỳ khoảng trắng từ đầu hoặc cuối cùng

Ví dụ:

a = " Hello World! "

print(a.strip())

àKết quả:Hello World!

g. Phương thức split()

Phương thức này dùng để tác chuỗi thành chuỗi con theo ký tự cần tách hay trả về kiểu
danh sách.

Ví dụ:

a = "dammio,john,sam,daisy"

print(a.split(",")) # trả về danh sách ['dammio', 'john, 'sam',


'daisy']

h.Phương thức find

Trả về một số nguyên, là vị trí đầu tiên của một chuỗi có xuất hiện trong chuỗi khi dò
từ trái sang phải. Nếu không có trong chuỗi thì trả về giá trị -1

Cú pháp:

<chuỗi>.find(sub, start, end)

Trong đó:

 sub là chuỗi các bạn cần xác thực xem có phải chuỗi cần tìm không.

 strart là index bắt đầu chuỗi cần so sánh. Mặc định thì start = 0.

 end là index kết thúc chuỗi cần so sánh.  Mặc định thì end = len().
Ví dụ:

print( 'howhteam'.find('h')) #Kết quả là:------------------------------------------------------

print('howhteam'.find('l')) #Kết quả là:-------------------------------------------------------

print('howhteam'.find('h', 2)) #Kết quả là:----------------------------------------------------

i. https://open.spotify.com/album/6mJZTV8lCqnwftYZa94bXS Phương thức rfind

Cú pháp:

<chuỗi>.rfind(sub, start, end)

Công dụng: Tương tự phương thức find nhưng tìm từ phải sang trái

Ví dụ:

print( 'howhteam'.rfind('h')) #Kết quả là:-------------------------------------------------------

print('howhteam'.rfind('l')) #Kết quả là:---------------------------------------------------------

print('howhteam'.rfind('h', 2)) #Kết quả là:-----------------------------------------------------

J. PHƯƠNG THỨC ISDIGIT()

Phương thức này dùng để kiểm tra chuỗi kí tự có phải chỉ chứa các kí tự chữ số hay không

K. PHƯƠNG THỨC ISALPHA()

Phương thức này dùng để kiểm tra chuỗi kí tự có phải chỉ chứa các kí tự chữ cái hay không

L. PHƯƠNG THỨC ISALNUM()

Phương thức này dùng để kiểm tra chuỗi kí tự có phải chỉ chứa các kí tự chữ số hoặc chữ
cái hay không

M. PHƯƠNG THỨC ISLOWER()/ ISUPPER()

Hai phương thức này dùng để kiểm tra chuỗi có phải chỉ chứa các kí tự in thường/ in hoa
hay không.
BÀI TẬP:

1. NHẬP VÀO 1 CHUỖI:

- Cho biết độ dài của chuỗi vừa nhập.

- Xuất chuỗi sau khi đảo ngược thứ tự

- Đổi xâu ký tự đó sang chữ in hoa

- Đổi xâu ký tự đó sang chữ thường

- Đếm số kí tự trắng trong chuỗi

- Đếm, liệt kê xem trong xâu có bao nhiêu kí tự số, kí tự chữ

- Xóa các kí tự trắng trong chuỗi

2. NHẬP CHUỖI S . CHUẨN HÓA CHUỖI THEO QUI TẮC SAU:

+ Xóa các dấu cách đầu xâu, cuối xâu(nếu có)

+ Thay nhiều dấu cách(>=2) liên tiếp bằng 1 dấu cách

+ Xuất ra chuỗi S sau khi chuẩn hóa

3. NHẬP VÀO 1 XÂU S, S1, S2. HÃY THAY THẾ XÂU S1 TẠI VỊ TRÍ XUẤT
HIỆN ĐẦU TIÊN TRONG XÂU S THÀNH XÂU S2.

Ví dụ:

In: S = ’sdfa vsx fax‘

s1 =’fa’

s2 =’gy’

Out: ’sdgy vsx fax‘

4. VIẾT CHƯƠNG TRÌNH NHẬP MỘT XÂU KÝ TỰ S TỪ BÀN PHÍM VÀ MỘT


CHUỖI CH. IN RA MÀN HÌNH XÂU S SAU KHI XÓA HẾT CÁC KÝ TỰ CH
TRONG XÂU ĐÓ (NẾU CÓ)
Ví dụ:

In: S = ’sdfa vsx fax‘

ch =’fa’

Out: ’sd vsx x‘

5. NHẬP VÀO MỘT CHUỖI CÁC KÝ TỰ.DỰA THEO Ý TƯỞNG CỦA CHỨC
NĂNG FORMAT/ CHANGECASE TRONG WORD. HÃY:

a. Chuyển các kí tự thành chữ in hoa. Ví dụ: HELLO LOP 11A1

b. Chuyển các kí tự thành chữ in thường. Ví dụ: hello lop 11a1

c. In hoa kí tự đầu chuỗi. Ví dụ: Hello lop 11a1

d. In hoa kí tự đầu mỗi từ. Ví dụ: Hello Lop 11a1

e. In thường kí tự đầu, in hoa từ kí tự thứ 2 của mỗi từ.Ví dụ: hELLO lOP
11A1.

You might also like