Tuyển dụng
Viettel IDC

Tuple là gì? Hiểu về Tuple trong Python và C++

28/12/2025

Tuple là gì là câu hỏi phổ biến của nhiều người khi bắt đầu học Python và tìm hiểu về các kiểu dữ liệu cơ bản. Trong bài viết này, Viettel IDC sẽ cùng tìm hiểu cách sử dụng tuple cho người mới, so sánh tuple với list, set và dictionary để bạn lựa chọn cấu trúc dữ liệu phù hợp nhất cho từng bài toán.

Tuple là gì trong Python?

Trong Python, Tuple là một bộ sưu tập các giá trị có thứ tự. Bạn có thể lưu nhiều giá trị với nhiều loại kiểu dữ liệu khác nhau vào một tuple, tương tự như list. 

Tuy nhiên, điểm khác biệt của tuple chính là tính bất biến. Tức là sau khi tạo ra, bạn không thể sửa, thêm, xóa các phần tử bên trong tuple. Tuple được viết bằng cặp dấu ngoặc tròn () và các phần tử phân tách nhau bởi dấu phẩy. 

Tuple là gì trong Python?

Cấu trúc và cú pháp của Tuple

Trong Python, tuple được xây dựng theo cấu trúc đơn giản nhưng chặt chẽ, nhằm đảm bảo tính bất biến (immutable) của dữ liệu. Về mặt cú pháp, tuple được khai báo bằng dấu ngoặc tròn (), bên trong là các phần tử được ngăn cách với nhau bằng dấu phẩy. Các phần tử trong tuple có thể thuộc nhiều kiểu dữ liệu khác nhau và được sắp xếp theo thứ tự cố định, trong đó chỉ mục của phần tử đầu tiên luôn bắt đầu từ 0.

Cú pháp tổng quát của tuple:

tuple_name = (value1, value2, value3)

Ví dụ:

student = ("An", 20, 8.5)

Trong ví dụ trên, student là một tuple gồm ba phần tử với các kiểu dữ liệu lần lượt là chuỗi, số nguyên và số thực. Mỗi phần tử có thể được truy cập thông qua chỉ số tương ứng, nhưng không thể thay đổi giá trị sau khi tuple đã được tạo.

Một điểm cần lưu ý trong cú pháp tuple là tuple chỉ có một phần tử. Khi đó, bắt buộc phải có dấu phẩy sau phần tử để Python nhận diện đây là tuple chứ không phải một biểu thức đơn lẻ:

single_tuple = (10,)

Ngoài cách khai báo trực tiếp, Python còn cho phép tạo tuple thông qua hàm tuple():

numbers = tuple([1, 2, 3, 4])

Cấu trúc và cú pháp của Tuple

Hướng dẫn cách sử dụng Tuple cho người mới

Sau khi hiểu tuple là gì và cấu trúc của tuple, bước tiếp theo là nắm được cách sử dụng tuple trong thực tế. Trên thực tế, tuple thường được dùng để lưu trữ dữ liệu cố định, trả về nhiều giá trị từ hàm hoặc làm khóa trong dictionary.

Tạo tuple trong Python

Cách đơn giản nhất để tạo tuple là đặt các phần tử vào trong dấu ngoặc tròn () và phân tách bằng dấu phẩy:

numbers = (1, 2, 3, 4)

Tuple cũng có thể chứa nhiều kiểu dữ liệu khác nhau:

data = ("Python", 2024, True, 3.14)

Với tuple chỉ có một phần tử, bắt buộc phải có dấu phẩy:

single = (10,)

Nếu không có dấu phẩy, Python sẽ hiểu đây chỉ là một giá trị thông thường chứ không phải tuple.

Truy cập phần tử trong tuple

Tuple có thứ tự nên các phần tử được truy cập thông qua chỉ mục (index), bắt đầu từ 0:

languages = ("Python", "Java", "C++")

print(languages[0])   # Python

print(languages[2])   # C++

Ngoài ra, tuple cũng hỗ trợ index âm để truy cập từ cuối lên:

print(languages[-1])  # C++

Duyệt tuple bằng vòng lặp

Bạn có thể duyệt qua các phần tử trong tuple bằng vòng lặp for, tương tự như list. Cách này thường được dùng khi cần đọc dữ liệu trong tuple mà không thay đổi nội dung.

colors = ("red", "green", "blue")

for color in colors:

    print(color)

Các thao tác thường dùng với tuple

Mặc dù tuple là kiểu dữ liệu bất biến, Python vẫn hỗ trợ một số thao tác cơ bản để làm việc với tuple. Những thao tác này chỉ dùng để truy vấn dữ liệu, không làm thay đổi tuple ban đầu.

nums = (1, 2, 2, 3, 4)

len(nums)        # Lấy số lượng phần tử

nums.count(2)    # Đếm số lần xuất hiện của giá trị 2

nums.index(3)    # Lấy vị trí của giá trị 3

Gán nhiều biến từ tuple (unpacking)

Một cách sử dụng tuple rất phổ biến trong Python là unpacking, tức là gán các phần tử của tuple cho nhiều biến cùng lúc. Thông qua gán, code gọn gàng và dễ đọc hơn, đặc biệt khi làm việc với các hàm trả về nhiều giá trị.

point = (10, 20)

x, y = point

print(x)  # 10

print(y)  # 20

Sử dụng tuple trong hàm

Trong Python, tuple thường được sử dụng như một giải pháp gọn gàng để gộp và trả về nhiều kết quả cùng lúc từ một hàm. Ví dụ như:

def get_info():

    name = "Alice"

    age = 25

    return name, age   # Thực chất là trả về một tuple

info = get_info()

print(info)            # ('Alice', 25)

 

Hoặc kết hợp với unpacking:

name, age = get_info()
Có thể bạn quan tâm:
- Python là gì? Tìm hiểu về ngôn ngũ lập trình bậc cao đa năng
- Javascript là gì? Tìm hiểu về Javascript từ A - Z

So sánh Tuple và List khác nhau như thế nào?

Trong quá trình học và làm việc với Python, rất nhiều người thường băn khoăn Tuple và List trong Python khác nhau như thế nào và nên sử dụng kiểu dữ liệu nào cho phù hợp. Thoạt nhìn, hai cấu trúc này khá giống nhau vì đều dùng để lưu trữ nhiều giá trị trong cùng một biến và có thể truy cập bằng chỉ số. 

Tuy nhiên, nếu đi sâu vào bản chất, bạn sẽ thấy Tuple khác gì list không chỉ nằm ở cú pháp khai báo. Sự khác biệt còn liên quan trực tiếp đến khả năng thay đổi dữ liệu, hiệu năng xử lý và mức độ an toàn khi sử dụng trong chương trình.

Tiêu chí đánh giá

Tuple trong Python

List trong Python

Cách khai báo

Khai báo bằng cặp ngoặc tròn, dữ liệu được cố định ngay từ lúc tạo

Khai báo bằng ngoặc vuông, cho phép chỉnh sửa linh hoạt

Bản chất dữ liệu

Tập hợp giá trị có cấu trúc cố định

Tập hợp giá trị mang tính động

Khả năng chỉnh sửa

Không cho phép can thiệp vào dữ liệu sau khi khởi tạo (immutable)

Có thể thay đổi nội dung bất kỳ lúc nào (mutable)

Thao tác thêm phần tử

Không thể mở rộng số lượng phần tử

Có thể thêm phần tử mới trong quá trình chạy.  Hỗ trợ append(), insert()

Thao tác xóa phần tử

Không hỗ trợ loại bỏ phần tử

Có thể xóa từng phần tử hoặc toàn bộ. Hỗ trợ remove(), pop()

Thay thế giá trị

Không cho phép thay thế giá trị tại vị trí bất kỳ

Cho phép gán lại giá trị theo chỉ số

Cách quản lý bộ nhớ

Chiếm ít bộ nhớ do cấu trúc cố định

Chiếm nhiều bộ nhớ hơn để phục vụ thay đổi

Tốc độ xử lý

Tối ưu cho việc truy xuất và duyệt dữ liệu

Chậm hơn do phải quản lý thay đổi

Hệ thống phương thức

Chỉ cung cấp các thao tác tra cứu cơ bản

Cung cấp đầy đủ phương thức xử lý dữ liệu

Khả năng làm key

Có thể dùng làm key của dictionary

Không đủ điều kiện làm key của dictionary

Phù hợp cho bài toán

Dữ liệu mang tính hằng số, cấu hình, kết quả trả về

Dữ liệu đầu vào, danh sách xử lý động

Mức độ an toàn dữ liệu

Cao, tránh bị thay đổi ngoài ý muốn

Thấp hơn do dễ bị chỉnh sửa

FAQs - Câu hỏi liên quan khi tìm hiểu Tuple là gì?

Tuple trong C++ là gì?

Trong C++, tuple là một cấu trúc dữ liệu thuộc thư viện chuẩn STL, cho phép gom nhiều giá trị có kiểu dữ liệu khác nhau vào cùng một biến. Tuple trong C++ thường được sử dụng khi cần trả về nhiều giá trị từ một hàm hoặc nhóm các dữ liệu liên quan mà không cần định nghĩa struct riêng.

Khác với tuple trong Python, tuple trong C++ có thể thay đổi giá trị của từng phần tử (trừ khi được khai báo là const). Việc truy cập phần tử trong tuple C++ được thực hiện thông qua chỉ số tại thời điểm biên dịch, giúp đảm bảo tính an toàn về kiểu dữ liệu.

List, Tuple, Set, Dictionary trong Python có gì khác nhau?

Trong Python, List, Tuple, Set và Dictionary đều là các kiểu dữ liệu dùng để lưu trữ nhiều giá trị, nhưng mỗi loại được thiết kế cho mục đích sử dụng khác nhau. Việc hiểu rõ sự khác biệt sẽ giúp bạn chọn đúng cấu trúc dữ liệu, từ đó tối ưu hiệu năng và logic chương trình.

Kiểu dữ liệu

Đặc điểm chính

Có thứ tự

Thay đổi được

Trùng lặp

Trường hợp sử dụng phù hợp

List

Danh sách linh hoạt, dễ thao tác

Có

Có

Có

Xử lý dữ liệu động, thêm xóa thường xuyên

Tuple

Tập dữ liệu cố định, an toàn

Có

Không

Có

Lưu dữ liệu không thay đổi, trả về nhiều giá trị

Set

Tập hợp giá trị duy nhất

Không

Có

Không

Lọc trùng lặp và xác định phần tử trong tập dữ liệu

Dictionary

Dữ liệu dạng khóa – giá trị

Có (Python 3.7+)

Có

Không (ở key)

Tra cứu dữ liệu theo khóa

List, Tuple, Set, Dictionary trong Python có gì khác nhau?

Kết luận

Tuple là gì là kiến thức nền tảng quan trọng khi học Python và làm việc với các cấu trúc dữ liệu. Nhờ đặc tính bất biến, tuple phù hợp để lưu trữ dữ liệu cố định, hạn chế rủi ro thay đổi ngoài ý muốn và giúp chương trình hoạt động ổn định hơn. Khi nắm rõ cách sử dụng, bạn sẽ dễ dàng áp dụng đúng kiểu dữ liệu cho từng bài toán, từ đó cải thiện hiệu năng và chất lượng code trong quá trình lập trình Python.

Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:
- Hotline: 1800 8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

16/10/2026

vMaaS cập nhật thêm mô hình AI mới - Một API, nhiều mô hình lựa chọn linh hoạt, chi phí không đổi

Viettel Model as a Service (vMaaS) cập nhật thêm Gemma 3, Qwen3-VL và Llama Nemotron, đồng thời hỗ trợ thêm hơn 40 mô hình AI theo nhu cầu. Tìm hiểu cách chọn mô hình phù hợp qua một API.

15/10/2026

Thông báo về việc tổ chức đấu giá tài sản thanh lý tháng 10/2026

Công ty Cổ phần Viettel – CHT thông báo về việc đấu giá đối với danh mục tài sản: Tài sản thanh lý bao gồm: Lô 1 - Bình ắc quy + Lô 2 - Tủ Rack và thiết bị cơ điện.

14/10/2026

So sánh IDS và IPS: Sự khác biệt và cách lựa chọn phù hợp

So sánh IDS và IPS giúp doanh nghiệp hiểu rõ cách hai giải pháp phát hiện, ngăn chặn xâm nhập và lựa chọn phương án bảo vệ hệ thống mạng phù hợp.

14/10/2026

NVMe Hosting là gì? Ưu điểm, so sánh và cách lựa chọn

NVMe Hosting là gì? Tìm hiểu ưu điểm, so sánh với SSD SATA và HDD, cùng cách lựa chọn hosting phù hợp để tối ưu hiệu năng website.

14/10/2026

Sự khác biệt giữa các dịch vụ hosting của Việt Nam với quốc tế

Tìm hiểu sự khác biệt giữa các dịch vụ hosting của Việt Nam với quốc tế về tốc độ, chi phí, công nghệ và hỗ trợ kỹ thuật để chọn giải pháp phù hợp.

14/10/2026

So sánh dịch vụ hosting tại Viettel IDC với những nhà cung cấp khác: Nên chọn bên nào?

So sánh dịch vụ hosting tại Viettel IDC với những nhà cung cấp khác về giá, cấu hình, hiệu năng và bảo mật để chọn giải pháp phù hợp cho doanh nghiệp.

14/10/2026

Những nền tảng điện toán đám mây nào phù hợp nhất cho doanh nghiệp nhỏ? Cách lựa chọn hiệu quả

Những nền tảng điện toán đám mây nào phù hợp cho doanh nghiệp nhỏ? Tìm hiểu các lựa chọn phổ biến và tiêu chí chọn nền tảng phù hợp.

14/10/2026

Cách chọn máy chủ phù hợp cho website nhỏ tại Việt Nam: Từ cấu hình đến chi phí

Cách chọn máy chủ phù hợp cho website nhỏ tại Việt Nam dựa trên cấu hình, nhu cầu sử dụng, chi phí và khả năng mở rộng.

14/10/2026

Những yếu tố quan trọng khi lựa chọn dịch vụ Cloud Database để đảm bảo khả năng mở rộng và độ tin cậy

Những yếu tố quan trọng khi lựa chọn dịch vụ Cloud Database giúp doanh nghiệp đảm bảo khả năng mở rộng, hiệu năng và độ tin cậy cho hệ thống.

14/10/2026

Lỗi SQL Server Setup failed: Nguyên nhân và cách khắc phục

Lỗi SQL Server Setup failed do đâu? Tìm hiểu nguyên nhân, cách kiểm tra và khắc phục lỗi để cài đặt SQL Server thành công.