4. CÁC KIỂU DỮ LIỆU TRONG PYTHON - Phần tiếp theo
Trong chương này, trước tiên chúng ta sẽ xem xét một số kiểu dữ liệu cơ bản trong Python, cụ thể là số nguyên, số thực và chuỗi. Tiếp theo, chúng ta sẽ khám phá khái niệm về kiểu ép kiểu. Cuối cùng, chúng ta sẽ thảo luận về ba kiểu dữ liệu nâng cao hơn trong Python: list, tuple và dictionary.
4.6 Tuple
Tuples cũng giống như list nhưng khác ở chỗ là bạn không thể sửa đổi giá trị của chúng. Các giá trị ban đầu là các giá trị sẽ tồn tại đến cuối chương trình. Một trường hợp mà tuples có ích là khi chương trình của bạn cần lưu trữ tên của các tháng trong năm.
Để khai báo một tuple, bạn viết tupleName = (giá trị ban đầu).
Chú ý rằng chúng ta sử dụng dấu ngoặc tròn () khi khai báo một tuple. Nhiều giá trị được phân tách bằng dấu phẩy.
Ví dụ:
monthsOfYear = (“Jan” , “Feb” , “Mar” , “Apr” , “May” , “Jun” , “Jul” , “Aug” , “Sep” , “Oct” , “Nov” , “Dec”)
Bạn truy cập các giá trị riêng lẻ của một tuple bằng cách sử dụng các chỉ mục của chúng, giống như với một list: monthsOfYear [0] = “Jan”, monthsOfYear [-1] = “Dec”.
Để biết thêm ví dụ về những gì bạn có thể làm với một tuple, hãy xem Phụ lục C.
4.7 Dictionary
Dictionary là tập hợp các cặp dữ liệu liên quan. Ví dụ: nếu chúng ta muốn lưu trữ tên người dùng và tuổi của 5 người dùng, chúng ta có thể lưu chúng trong dictionary.
Để khai báo một dictionary, bạn viết: DictionaryName = {dictionary key: data}, với yêu cầu các dictionary key phải là duy nhất (trong một dictionary). Có nghĩa là bạn không thể khai báo một dictionary như sau: myDictionary = {“Peter”: 38, “John”: 51, “Peter”: 13}.
Điều này là do “Peter” được sử dụng làm dictionary key hai lần. Lưu ý rằng chúng ta sử dụng dấu ngoặc nhọn {} khi khai báo một dictionary. Nhiều cặp key:data được phân tách bằng dấu phẩy.
Ví dụ:
userNameAndAge = {“Peter”: 38, “John”: 51, “Alex”: 13, “Alvin”: “Not available”}
Bạn cũng có thể khai báo một dictionary bằng phương thức dict(). Để khai báo dictionary userNameAndAge ở trên, bạn viết:
userNameAndAge = dict(Peter = 38, John = 51, Alex = 13, Alvin = “Not available”)
Khi bạn sử dụng phương thức này để khai báo một dictionary, bạn sử dụng dấu ngoặc tròn () thay vì dấu ngoặc nhọn {} và bạn không đặt dấu ngoặc kép cho các dictionary key.
Để truy cập các mục riêng lẻ trong dictionary, chúng ta sử dụng dictionary key - là giá trị đầu tiên trong cặp {dictionary key: data}. Ví dụ, để biết tuổi của John, bạn viết: userNameAndAge[“John”]. Bạn sẽ nhận được giá trị là 51.
Để sửa đổi các mục trong dictionary, chúng ta viết: DictionaryName[dictionary key của mục cần sửa đổi] = dữ liệu mới. Ví dụ: sửa đổi cặp “John”: 51 với lệnh userNameAndAge [“John”] = 21. Dictionary của chúng ta bây giờ trở thành userNameAndAge = {“Peter”: 38, “John”: 21, “Alex”: 13, “ Alvin ”:“ Not available ”}.
Chúng ta cũng có thể khai báo một dictionary mà không cần gán bất kỳ giá trị ban đầu nào cho nó. Chúng tôi chỉ đơn giản viết DictionaryName = {}. Những gì chúng ta có bây giờ là một dictionary trống rỗng không có mục nào trong đó.
Để thêm các mục vào dictionary, chúng ta viết: DictionaryName[dictionary key] = data. Ví dụ: nếu muốn thêm “Joe”: 40 vào dictionary của mình, ta viết userNameAndAge[“Joe”] = 40. Dictionary của chúng ta bây giờ trở thành userNameAndAge = {“Peter”: 38, “John”: 21, “Alex” : 13, “Alvin”: “Not available”, “Joe”: 40}
Để xóa các mục khỏi dictionary, chúng ta viết: del DictionaryName[dictionary key]. Ví dụ: để loại bỏ cặp “Alex”: 13, ta viết del userNameAndAge[“Alex”]. Dictionary bây giờ trở thành userNameAndAge = {“Peter”: 38, “John”: 21, “Alvin”: “Not available” , “Joe”: 40}
Chạy chương trình sau để quan sát tất cả những gì đã đề cập ở trên hoạt động như thế nào:
#Khai báo dictionary, dictionary keys và data có thể là những kiểu dữ liệu khác nhau
myDict = {“One”:1.35, 2.5:”Two Point Five” , 3:”+” , 7.9:2}
#In ra toàn bộ dictionary
print(myDict)
#Bạn sẽ nhận được {2.5: 'Two Point Five' , 3: '+' , 'One': 1.35, 7.9: 2}
#Chú ý rằng các mục trong một dictionary không được lưu trữ theo thứ tự theo cách mà bạn đã khai báo
#In ra mục với key = “One”.
print(myDict[“One”])
#Bạn sẽ nhận được 1.35
#In ra mục với key = 7.9.
print(myDict[7.9])
#Bạn sẽ nhận được 2
#Sửa đổi giá trị của mục có key = 2.5 và in ra dictionary sau khi sửa đổi
myDict[2.5] = “Two and a Half” print(myDict)
#Bạn sẽ nhận được {2.5: 'Two and a Half' , 3: '+' , 'One': 1.35, 7.9: 2}
#Thêm một mục mới và in ra dictionary vừa cập nhật
myDict[“New item”] = “I’m new”
print(myDict)
#Bạn sẽ nhận được {'New item': 'I’m new' , 2.5: 'Two and a Half' , 3: '+' , 'One': 1.35, 7.9: 2}
#Xóa đi mục có key = “One” và in ra dictionary vừa cập nhật
del myDict[“One”]
print(myDict)
#Bạn sẽ nhận được {'New item': 'I’m new' , 2.5: 'Two and a Half' , 3: '+' , 7.9: 2}
Để biết thêm các ví dụ và code mẫu về cách làm việc với dictionary, bạn có thể tham khảo Phụ lục D.
Trong chương này, trước tiên chúng ta sẽ xem xét một số kiểu dữ liệu cơ bản trong Python, cụ thể là số nguyên, số thực và chuỗi. Tiếp theo, chúng ta sẽ khám phá khái niệm về kiểu ép kiểu. Cuối cùng, chúng ta sẽ thảo luận về ba kiểu dữ liệu nâng cao hơn trong Python: list, tuple và dictionary.
4.6 Tuple
Tuples cũng giống như list nhưng khác ở chỗ là bạn không thể sửa đổi giá trị của chúng. Các giá trị ban đầu là các giá trị sẽ tồn tại đến cuối chương trình. Một trường hợp mà tuples có ích là khi chương trình của bạn cần lưu trữ tên của các tháng trong năm.
Để khai báo một tuple, bạn viết tupleName = (giá trị ban đầu).
Chú ý rằng chúng ta sử dụng dấu ngoặc tròn () khi khai báo một tuple. Nhiều giá trị được phân tách bằng dấu phẩy.
Ví dụ:
monthsOfYear = (“Jan” , “Feb” , “Mar” , “Apr” , “May” , “Jun” , “Jul” , “Aug” , “Sep” , “Oct” , “Nov” , “Dec”)
Bạn truy cập các giá trị riêng lẻ của một tuple bằng cách sử dụng các chỉ mục của chúng, giống như với một list: monthsOfYear [0] = “Jan”, monthsOfYear [-1] = “Dec”.
Để biết thêm ví dụ về những gì bạn có thể làm với một tuple, hãy xem Phụ lục C.
4.7 Dictionary
Dictionary là tập hợp các cặp dữ liệu liên quan. Ví dụ: nếu chúng ta muốn lưu trữ tên người dùng và tuổi của 5 người dùng, chúng ta có thể lưu chúng trong dictionary.
Để khai báo một dictionary, bạn viết: DictionaryName = {dictionary key: data}, với yêu cầu các dictionary key phải là duy nhất (trong một dictionary). Có nghĩa là bạn không thể khai báo một dictionary như sau: myDictionary = {“Peter”: 38, “John”: 51, “Peter”: 13}.
Điều này là do “Peter” được sử dụng làm dictionary key hai lần. Lưu ý rằng chúng ta sử dụng dấu ngoặc nhọn {} khi khai báo một dictionary. Nhiều cặp key:data được phân tách bằng dấu phẩy.
Ví dụ:
userNameAndAge = {“Peter”: 38, “John”: 51, “Alex”: 13, “Alvin”: “Not available”}
Bạn cũng có thể khai báo một dictionary bằng phương thức dict(). Để khai báo dictionary userNameAndAge ở trên, bạn viết:
userNameAndAge = dict(Peter = 38, John = 51, Alex = 13, Alvin = “Not available”)
Khi bạn sử dụng phương thức này để khai báo một dictionary, bạn sử dụng dấu ngoặc tròn () thay vì dấu ngoặc nhọn {} và bạn không đặt dấu ngoặc kép cho các dictionary key.
Để truy cập các mục riêng lẻ trong dictionary, chúng ta sử dụng dictionary key - là giá trị đầu tiên trong cặp {dictionary key: data}. Ví dụ, để biết tuổi của John, bạn viết: userNameAndAge[“John”]. Bạn sẽ nhận được giá trị là 51.
Để sửa đổi các mục trong dictionary, chúng ta viết: DictionaryName[dictionary key của mục cần sửa đổi] = dữ liệu mới. Ví dụ: sửa đổi cặp “John”: 51 với lệnh userNameAndAge [“John”] = 21. Dictionary của chúng ta bây giờ trở thành userNameAndAge = {“Peter”: 38, “John”: 21, “Alex”: 13, “ Alvin ”:“ Not available ”}.
Chúng ta cũng có thể khai báo một dictionary mà không cần gán bất kỳ giá trị ban đầu nào cho nó. Chúng tôi chỉ đơn giản viết DictionaryName = {}. Những gì chúng ta có bây giờ là một dictionary trống rỗng không có mục nào trong đó.
Để thêm các mục vào dictionary, chúng ta viết: DictionaryName[dictionary key] = data. Ví dụ: nếu muốn thêm “Joe”: 40 vào dictionary của mình, ta viết userNameAndAge[“Joe”] = 40. Dictionary của chúng ta bây giờ trở thành userNameAndAge = {“Peter”: 38, “John”: 21, “Alex” : 13, “Alvin”: “Not available”, “Joe”: 40}
Để xóa các mục khỏi dictionary, chúng ta viết: del DictionaryName[dictionary key]. Ví dụ: để loại bỏ cặp “Alex”: 13, ta viết del userNameAndAge[“Alex”]. Dictionary bây giờ trở thành userNameAndAge = {“Peter”: 38, “John”: 21, “Alvin”: “Not available” , “Joe”: 40}
Chạy chương trình sau để quan sát tất cả những gì đã đề cập ở trên hoạt động như thế nào:
#Khai báo dictionary, dictionary keys và data có thể là những kiểu dữ liệu khác nhau
myDict = {“One”:1.35, 2.5:”Two Point Five” , 3:”+” , 7.9:2}
#In ra toàn bộ dictionary
print(myDict)
#Bạn sẽ nhận được {2.5: 'Two Point Five' , 3: '+' , 'One': 1.35, 7.9: 2}
#Chú ý rằng các mục trong một dictionary không được lưu trữ theo thứ tự theo cách mà bạn đã khai báo
#In ra mục với key = “One”.
print(myDict[“One”])
#Bạn sẽ nhận được 1.35
#In ra mục với key = 7.9.
print(myDict[7.9])
#Bạn sẽ nhận được 2
#Sửa đổi giá trị của mục có key = 2.5 và in ra dictionary sau khi sửa đổi
myDict[2.5] = “Two and a Half” print(myDict)
#Bạn sẽ nhận được {2.5: 'Two and a Half' , 3: '+' , 'One': 1.35, 7.9: 2}
#Thêm một mục mới và in ra dictionary vừa cập nhật
myDict[“New item”] = “I’m new”
print(myDict)
#Bạn sẽ nhận được {'New item': 'I’m new' , 2.5: 'Two and a Half' , 3: '+' , 'One': 1.35, 7.9: 2}
#Xóa đi mục có key = “One” và in ra dictionary vừa cập nhật
del myDict[“One”]
print(myDict)
#Bạn sẽ nhận được {'New item': 'I’m new' , 2.5: 'Two and a Half' , 3: '+' , 7.9: 2}
Để biết thêm các ví dụ và code mẫu về cách làm việc với dictionary, bạn có thể tham khảo Phụ lục D.