Kiểu dữ liệu tuple trong Python
Như đã nói ở phần danh sách trong Python (Python List) có 4 loại dữ liệu tập hợp ( lưu trữ nhiều giá trị trong một biến). Tupe về cơ bản có tính chất giống với List nhưng có một số điểm khác biệt.
Nội dung của bài
Tupe trong Python
fruits = ("apple", "banana", "cherry", 1000, 20000)
print("fruits[0]: " + fruits[0])
# Khai báo tupe có 1 phần tử phải có dấu ,
colors = ("green",)
empty_tupe = ()
Trong ví dụ trên tupe có thể chứa nhiều giá trị khai báo trong dấu () và cách nhau bởi dấu phẩy. Các phần tử trong tupe có thể có kiểu khác nhau.
Tupe có thể không có phần tử nào như tupe empty_tupe trong ví dụ trên. Hoặc chỉ có 1 phần tử như tupe colors.
Lưu ý cách khai báo tupe có 1 phần tử là phải có dấu phẩy ở sau, nếu không Python sẽ không hiểu đó là tupe.
Tupe là danh sách đã sắp xếp và không thể thay đổi. Mỗi phần tử có index và chúng ta có thể truy xuất giống như với List trong Python bằng cách sử dụng kỹ tư [] và bên trong là giá trị của index. Như ví dụ trên, muốn lấy phần tử đầu tiên của tupe ta sử dùng: fruits[0].
Điểm khác biệt rõ ràng so với list là tupe là Immutable, tức là tính bất biến, không thể cập nhật. Sau này trong quá trình làm việc với Python các bạn sẽ hiểu rõ hơn về lợi thế của Immutable.
Các phép toán thực thi trên type
Ngoài những phép toán cập nhật giá trị, Python hỗ trợ các phép toán giống như ở list.
fruits = ("apple", "banana", "cherry", 1000, 20000)
# phép tính cộng +
fruits = fruits + ("cherry", )
print(fruits)
# prints ("apple", "banana", "cherry", 1000, 20000, "cherry")
fruits2 = fruits * 2
print(fruits2)
# prints ("apple", "banana", "cherry", 1000, 20000, "cherry", "apple", "banana", "cherry", 1000, 20000, "cherry")
len(fruits)
# 5
"apple" in fruits
# True
Phép cộng tupe trả về một tupe là phần tử của 2 tupes.
Phép nhân, trả về tupe mới là các phần tử lập lại của 1 tupe.
Dùng in để kiểm tra một giá trị có phải là phần tử của tupe không, kết quả trả ra là True/False.
Số phần tử của tupe được trả về sau khi gọi hàm len().
Khi nào nên sử dụng list và tupe?
Như vậy, chúng ta dễ dàng phần biệt được điểm khác nhau quan trọng giữa list và tupe là: Tupe là Immutable còn list là Mutable. Tức là sau khi tạo ra list có thể cập nhật, tupe thì không, mọi thay đổi ở tupe tức là ra một tupe mới. Hay nói cách khác tupe là một list ở dạng read-only.
Chính vì đặc tính trên mà chúng ta sẽ sử dụng tupe và list một cách phù hợp. Chúng ta có thể dùng list là nơi lưu trữ dữ liệu, ví dụ đọc dữ liệu từ file, đưa vào list rồi xử lý sau đó lưu lại vào file.
Khi một hàm trả về nhiều giá trị thì nên trả về tupe, vì tupe không thể thay đổi nên đảm bảm tính an toàn.
Kết luận
Tupe như một list rút gọn chỉ read-only. Trong quá trình phát triển phần mềm, chúng ta cần sử dụng list và tupe một cách hợp lý tùy vào mục đích sử dụng.
[…] ta đã tìm hiểu 2 loại dữ liệu dạng tập hợp là List và Tupe trong Python, hôm nay chúng ta sẽ tìm hiểu thêm về […]
[…] đưa vào một tuple, cách sử dụng một tupe như thế nào bạn tham khảo bài tupe trong Python […]