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

28/09/2026

Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng

Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.

28/09/2026

Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến

Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.

28/09/2026

Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết

Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.

28/09/2026

Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật

Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.

28/09/2026

Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á

Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.

25/09/2026

Ghidra là gì? Chức năng và ứng dụng trong reverse engineering

Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.

25/09/2026

10 công cụ tối ưu hóa website theo từng mục tiêu

Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.

25/09/2026

So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng

WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.

25/09/2026

Cách test tải hệ thống: Quy trình và công cụ phổ biến

Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.

16/01/2025

Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring

Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng