[PyACC 7] Python - Những kiến thức căn bản - P1.2
Chuỗi và xử lý chuỗi
Khai báo chuỗi
# Khai báo 1 chuỗi trong python
a = "hehe"
b = 'hihi'
Nối chuỗi
# Nối thêm vào chuỗi a
a += "hihi"
# câu này tương đương: a = a + "hihi"
# lúc này a = "hehehihi"
Cắt chuỗi
a = "111222"
# Cắt lấy chuỗi 3 ký tự đầu tiên
b = a[0:3]
# b sẽ là "111"
# Lấy 2 ký tự bắt đầu từ ký tự thứ 4
b = a[3:5]
# b sẽ là "22"
Format chuỗi
Trường này thường xảy ra khi bạn có 1 số biến và cần in ra chúng dưới dạng format định trước.
Để làm điều này, bạn thêm tiền tố f trước chuỗi, sau đó bên trong chuỗi bạn sẽ đặt các biến trong cặp {} tại vị trí mà bạn muốn.
# Ví dụ 1
count = 10
result = f'Tôi đã đếm được {count}'
print(result)
# Ví dụ 2
count = 8
total = 10
result = f'Tôi đã đếm được {count} trong tổng số {total}'
print(result)
Tách chuỗi
# Cắt chuỗi theo dấu cách
txt = "hihi haha hehe"
x = txt.split()
print(x)
# Cắt chuỗi theo dấu ,
txt = "hihi, haha, hehe"
x = txt.split(',')
print(x)
Thay thế chuỗi
txt = "one one was a race horse, two two was one too."
x = txt.replace("one", "three")
print(x)
Các kiểu dữ liệu phức tạp: Dict, List, Set, Tuple
Dict
Được sử dụng để lưu trữ các giá trị dữ liệu trong các cặp key: value.
# Một dict trông sẽ như thế này:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
# in ra dict
print(thisdict)
###########################################################################
# Sau mỗi lần comment dài thế này bạn phải xóa hết code trước đó trên ide đi và chạy lại nhé
###########################################################################
###########################################################################
# dict có thể lưu nhiều loại dữ liệu bên trong nó
thisdict = {
"brand": "Ford",
"electric": False,
"year": 1964,
"colors": ["red", "white", "blue"]
}
print(thisdict)
###########################################################################
# dict không cho phép tồn tại 2 key trùng nhau
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964,
"year": 2020
}
print(thisdict)
# Dùng hàm len để đếm số key của dict
print(len(thisdict))
# kiểm tra một biến có phải dict hay không bằng cách kiểm tra type của biến đó
print(type(thisdict))
# hoặc so sánh nó với từ khóa dict, nếu kết quả của phép so sánh là True thì biến đó là dict
print(type(thisdict) == dict)
# Ví dụ truy cập key:value trong dict
brand = thisdict['brand']
electric = thisdict['electric']
# thay đổi value cho 1 key trong dict
thisdict['brand'] = 'Toyota'
print(thisdict)
List
Được dùng để lưu trữ mảng dữ liệu hay dữ liệu dạng mảng.
# dữ liệu của list có thể cùng kiểu hoặc cũng có thể khác kiểu
thislist = ["1", "2", "3"]
print(thislist)
thislist = [1, "abc", 1.2]
print(thislist)
# In ra độ dài các phần tử trong list ta dùng hàm len
print(len(thislist))
###########################################################################
# Để truy cập dữ liệu trong list, ta dùng index hay vị trí tính từ 0 của phần tử đó trong list
# 0 là phần tử đầu tiên
thislist = [1, "abc", 1.2]
a = thislist[0]
# 1 là phần tử thứ 2
b = thislist[1]
# -1 là phần tử cuối cùng
c = thislist[-1]
###########################################################################
# Để thay đổi giá trị của phần tử trong list, ta cũng dùng index để thay đổi:
thislist = [1, "abc", 1.2]
thislist[0] = 2
print(thislist)
Set
Được dùng để lưu trữ dữ liệu không trùng lặp, không thể thay đổi, không có có thứ tự xác định.
# Cách để khởi tạo set
# Cách 1:
thisset = {"apple", "banana", "cherry"}
print(thisset)
# Cách 2:
## set() có nghĩa là khởi tạo một set rỗng
thisset = set()
print(thisset)
## set cũng có thể được khởi tạo từ một list
thisset = set(["Geeks", "For", "Geeks"])
print(thisset)
#####################################################################
# Thêm phần tử vào set
thisset = {"banana", "cherry"}
thisset.add("apple")
print(thisset)
# Bây giờ thử thêm tiếp, bạn sẽ thấy số phần tử in ra không thay đổi
thisset.add("apple")
print(thisset)
# Xóa phần tử khỏi set, các bạn sử dụng giá trị của chúng trong hàm remove
thisset.remove("apple")
print(thisset)
Các hàm khác của set, các bạn có thể tìm hiểu thêm trên Google nhé, cá nhân mình cũng không dùng nhiều hơn những hàm kể trên.
Tuple
Tuple dùng để lưu trữ dữ liệu có thứ tự, không thể thay đổi nhưng cho phép trùng lặp.
# Khai báo tuple
thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)
# Tuple có thể lưu trữ nhiều loại dữ liệu khác nhau
thistuple = ("apple", "banana", "cherry", 1, 2)
print(thistuple)
########################################################################
# Truy cập phần tử trong tuple giống truy cập trong mảng
thistuple = ("apple", "banana", "cherry")
print(thistuple[0])
# Nhưng bạn không thể thay đổi giá trị cho phần tử trong tupple, lệnh này sẽ báo lỗi
thistuple[0] = "Watermelon"
Các kiểu dữ liệu list, set, tupple có thể hoán đổi cho nhau, tùy thuộc vào điều kiện sử dụng của bạn.
# Nếu coi a là mảng gốc
a = ["1", "1", "2", "2"]
print(a)
# b sẽ là danh sách các phần tử không trùng lặp của a dưới dạng set
b = set(a)
print(b)
# Nếu bây giờ ép kiểu b về list rồi gán vào c thì c sẽ là danh sách các phần tử không trùng lặp của mảng ban đầu dưới dạng list
c = list(b)
print(c)
##########################################################################
# Tương tự ta cũng có thể ép kiểu qua lại giữa kiểu list và tuple bằng hàm tuple.
a = ["1", "1", "2", "2"]
print(a)
b = tuple(a)
print(b)
c = list(b)
print(c)