Tuple trong Python
Tuple trong Python là một kiểu dữ liệu dùng để lưu trữ các đối tượng không thay đổi về sau (giống như hằng số). Ngày hôm nay hãy cùng MCI tìm hiểu về Tuple trong Python nhé!
Nội dung bài viết
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
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:
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
(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.
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ăng | Ví 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) |
in | Kiể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 |
Các hàm liên quan đến Tuples
Hàm | Mô tả |
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 |
Các phương thức của Tuple
Phương thức | Mô 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). |
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
Các khóa học
- Data Engineer Track Specialized
- Combo Data Engineering Professional Hot
- Advanced AWS Cloud Data Engineer Specialized
- AWS Data Engineer for Beginners Specialized
- Combo Python Level 1 & Level 2 Bestseller
- Business Intelligence Track Hot
- Data Science Track Bestseller
- Data Analyst Professional (Data Analyst with Python Track) Bestseller
- RPA UiPath Nâng Cao: Chiến Thuật Automation Cho Chuyên Gia Specialized
- RPA UiPath cho Người Mới Bắt Đầu: Thành Thạo Automation Chỉ Trong 1 Ngày Specialized
- Business Analyst Fast Track Bestseller
- Combo Business Analyst Level 1 & Level 2 Bestseller
- Business Analyst for Beginners Bestseller
Đăng ký tư vấn khóa học
*Vui lòng nhập số điện thoại của bạn
*Vui lòng nhập họ tên của bạn
*Vui lòng chọn giới tính
*Vui lòng chọn 1 trường