layer-groupBộ (Tuple)

1. Tuple là gì?

Tuple là một cấu trúc dữ liệu cho phép chứa nhiều giá trị theo thứ tự, giống như List. Tuy nhiên, có một điểm khác biệt quan trọng: Tuple không thể thay đổi (immutable) sau khi đã tạo.

Hãy tưởng tượng Tuple như một hộp đã được niêm phong - bạn có thể xem những gì bên trong nhưng không thể thay đổi hay thêm bớt.

Đặc điểm của Tuple:

  • Có thứ tự: Các phần tử được sắp xếp theo thứ tự

  • Không thể thay đổi (immutable): Không thể thêm, xoá, hoặc sửa phần tử

  • Có thể chứa nhiều kiểu dữ liệu: Số, chuỗi, boolean, v.v.

  • Cho phép trùng lặp: Có thể có nhiều phần tử giống nhau

Ví dụ tuple hợp lệ:

numbers = (1, 2, 3, 4, 5)
coordinates = (10.5, 20.3)
mixed = (1, "hello", True, 3.14)
fruits = ("apple", "banana", "orange")

2. Sự khác biệt giữa Tuple và List

Đặc điểm
List
Tuple

Ký hiệu

Ngoặc vuông []

Ngoặc tròn ()

Có thể thay đổi

Có (mutable)

Không (immutable)

Tốc độ

Chậm hơn

Nhanh hơn

Sử dụng bộ nhớ

Nhiều hơn

Ít hơn

Dùng khi nào

Dữ liệu cần thay đổi

Dữ liệu cố định

Ví dụ:

3. Cách tạo Tuple

Tạo tuple bằng cặp ngoặc tròn ()

Tạo tuple không cần ngoặc tròn

Tạo tuple có 1 phần tử

Tạo tuple rỗng

Tạo tuple từ list

Tạo tuple từ chuỗi

4. Các thao tác cơ bản với Tuple

Lấy độ dài của tuple

Truy cập phần tử theo index

Slicing (cắt tuple)

Kiểm tra phần tử có trong tuple không

Nối tuple

Lặp tuple

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

Tuple chỉ có 2 phương thức vì nó không thể thay đổi:

Phương thức
Chức năng
Ví dụ

count(x)

Đếm số lần xuất hiện của x

my_tuple.count(5)

index(x)

Tìm vị trí đầu tiên của x

my_tuple.index(5)

5.1 - count(x): Đếm số lần xuất hiện

5.2 - index(x): Tìm vị trí của phần tử

Nếu phần tử không tồn tại sẽ báo lỗi:

6. Duyệt Tuple bằng vòng lặp

Duyệt qua từng phần tử

Duyệt theo index

Duyệt với enumerate

7. Unpacking Tuple

Unpacking là cách "mở gói" tuple để gán các giá trị cho nhiều biến.

Unpacking cơ bản

Unpacking với nhiều giá trị

Unpacking với dấu *

Hoán đổi giá trị bằng Tuple

8. Khi nào nên dùng Tuple?

Nên dùng Tuple khi:

  1. Dữ liệu không cần thay đổi: Như toạ độ, ngày tháng, thông tin cố định

  2. Muốn bảo vệ dữ liệu: Không cho phép thay đổi vô tình

  3. Làm key cho dictionary: List không thể làm key, nhưng tuple có thể

  4. Return nhiều giá trị từ hàm:

  5. Tiết kiệm bộ nhớ và nhanh hơn: Tuple tốn ít bộ nhớ hơn List

Nên dùng List khi: Dữ liệu cần thêm, xoá, sửa thường xuyên

9. Tuple lồng nhau

Tuple có thể chứa tuple khác bên trong:

10. Chuyển đổi giữa Tuple và List

Tuple sang List

List sang Tuple

"Thay đổi" Tuple bằng cách chuyển đổi

Bài giảng trên YouTube

Cập nhật sau

Last updated