Tuple trong Python

Tuple trong Python là gì?

Tuple trong Python là kiểu dữ liệu trong Python có chức năng lưu trữ các đối tượng có tính chất cố định (ví dụ như hằng số)

Để viết một Tuple, bạn đặt các phần từ nằm trong cặp ngoặc (), tất cả những gì nằm trong ngoặc là những phần tử của Tuple, được ngăn cách nhau bởi dấu phẩy. Các phần tử trong một Tuple được đánh số (index) từ 0

Ví dụ về Tuple

Cách khởi tạo Tuple

Sử dụng cặp dấu ngoặc () và đặt giá trị vào bên trong

Cú pháp: 

(giá trị thứ nhất,giá trị thứ hai, giá trị thứ ba,…,giá trị thứ n)

Ví dụ: Khởi tạo Tuple có 1 hằng số

>>> tup = (9) # Tuple có một giá trị là số 9
>>> tup # có kết quả là 9
>>> type(tup) # không thuộc lớp Tuple

=> Khi khởi tạo một Tuple có 1 giá trị thì Tuple đó trong python là kiểu dữ liệu của phần tử duy nhất.

Khi ta tính toán, sử dụng dấu ngoặc để được ưu tiên:

>>> 1 + 3 * 2 # 3 * 2 sau đó + 1 vì nhân trước cộng sau theo như toán học

Kết quả là:

7

>>> (1 + 3) * 3 # giờ thi ta sẽ làm phép tính trong ngoặc trước

Kết quả là

12

Vì vậy khi khởi tạo Tuple, ta phải thêm dấu “,” vào sau giá trị đó để báo cho Python biết đây là Tuple:

>>> tup = (9,)

>>> tup(9,)

>>> type(tup) # kết quả đã như mong đợi

<class 'tuple'>

Truy cập các phần tử của Tuple

Truy cập các phần tử bằng vòng lặp for:

Sau đây sẽ là cách sử dụng hàm for để truy cập phần tử cua Tuple:

ví dụ tuple trong python
Ví dụ về sử dụng vòng lặp for

Truy cập thông qua chỉ số (index):

Ngoài ra, còn có thể truy cập phần tử của Tuple thông qua hàm index. Các phần tử của Tuple sẽ sắp xếp theo thứ tự từ trái qua phải, bắt đầu từ số 0

Tuple trong python

(Ví dụ về truy cập thông qua chỉ số trong Tuple)

Hơn thế nữa còn có thể truy cập phần tử của Tuple trong python theo chỉ số âm (Negative index), các phần tử được đánh số theo thứ tự giảm dần từ 0 …

(Ví dụ về truy cập thông qua chỉ số âm trong Tuple)

Cập nhật Tuples

Do Tuple trong python là bất biến (immutable), chính vì thế chỉ có thể truy cập các phần tử Tuple bằng các phương thức hoặc toán tử, hoặc tạo ra một Tuple hoàn toàn mới dựa trên Tuple ban đầu.

Ví dụ cập nhật trong Tuple

Các toán tử cơ bản cho Tuples

Cũng giống như String, Tuple có 3 toán tử:

Toán tửChức năngVí dụ
+Dùng để tạo ra Tuple mới từ việc kết hợp 2 hoặc nhiều Tuple(1, 2, 3) + (“One”,”Two”)--> (1, 2, 3, “One”, “Two”)
*Tạo ra một Tuple nối bằng việc nhân bản Tuple hiện có(1, 2) * 3--> (1, 2, 1, 2, 1, 2)
inKiểm tra một phần tử có xuất hiện trong một Tuple hay không, kết quả là True nếu Tuple chứa phần tử đó và ngược lại“Abc” in (“One”, “Abc”)--> True
Ví dụ các toán tử trong Tuple

Các toán tử trong python

Các hàm liên quan đến Tuples

HàmMô tả
cmp(list1, list2)So sánh từng phần tử trong 2 Tuple. Hàm này đã bị loại bỏ khỏi Python3.
len(list)Đếm số phần tử trong tuple
max(list)Tìm phần tử trong Tuple có giá trị lớn nhất
min(list)Tìm phần tử trong Tuple với giá trị nhỏ nhất
tuple(seq)Chuyển đổi List thành Tuple
Ví dụ các hàm trong Tuple

Các phương thức của Tuple

Phương thứcMô tả
tuple.count(obj)Đếm số lần xuất hiện ‘obj’ trong Tuple
tuple.index(obj, [start, [stop]])Trả về chỉ số nhỏ nhất trong danh sách tìm thấy phần tử có giá trị là obj. Lỗi ValueError sẽ xuất hiện khi không tìm thấy.
Nếu có tham số start, stop, chỉ tìm từ chỉ số start đến chỉ số stop (Và không bao gồm stop).
Ví dụ các phương thức trong Tuple

Cách xoá Tuple trong Python

Tuple trong python là bất biến, vì vậy bạn không thể xóa từng phần tử riêng lẻ trong tuple, thay vào đó chỉ có thể xóa hoàn toàn một tuple bằng hàm del.

Sự khác biệt giữa kiểu dữ liệu List và kiểu dữ liệu Tuple

Kiểu dữ liệu Tuple khác List ở chỗ Tuple không cho phép bạn sửa chữa nội dung, còn List thì có. Vì vậy, Tuple vượt trội hơn List ở những điểm sau:

  • Tốc độ truy xuất của Tuple vượt trội hơn kiểu dữ liệu List
  • Dung lượng bộ nhớ cần cho Tuple trong python ít hơn với List
  • Bảo vệ dữ liệu của bạn trước những thay đổi
  • Có thể dùng làm key của Dictionary – điều mà List không thể vì List là unhash object. Còn Tuple có thể là một hash object khi toàn bộ phần tử của Tuple đều là hash object.

Trên đây là những điều giúp bạn có thể cân nhắc việc chọn Tuple hay List để lưu dữ liệu dưới một mảng.

Tìm hiểu kiểu dữ liệu list trong python

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *