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

09/11/2026

Cổng SATA là gì? Cách nhận biết và kết nối ổ HDD, SSD

Cổng SATA là gì? Cách nhận biết cổng SATA trên mainboard, phân biệt các phiên bản và kiểm tra ổ HDD, SSD có tương thích trước khi nâng cấp.

09/11/2026

Microsoft Publisher là gì? Tổng quan về phần mềm thiết kế dàn trang

Microsoft Publisher là gì? Đây là phần mềm dàn trang của Microsoft, hỗ trợ thiết kế ấn phẩm bằng các mẫu có sẵn và công cụ sắp xếp văn bản, hình ảnh linh hoạt.

09/11/2026

Có nên sử dụng các công cụ Text to speech miễn phí? Ưu điểm và hạn chế

Có nên sử dụng các công cụ Text to Speech miễn phí? Cân nhắc chất lượng giọng đọc, hạn mức và quyền sử dụng để biết khi nào bản miễn phí đủ dùng hoặc cần nâng cấp.

09/11/2026

Kiến trúc Client Server là gì? Cách mô hình máy chủ - máy khách hoạt động

Kiến trúc Client Server là gì? Đây là mô hình máy khách - máy chủ, tổ chức việc gửi yêu cầu, xử lý và trao đổi dữ liệu trong các ứng dụng và dịch vụ mạng.

09/11/2026

Cấu trúc silo là gì trong SEO? Cách xây dựng cấu trúc silo cho website

Cấu trúc silo là gì? Nắm rõ cách phân nhóm nội dung, phân biệt silo vật lý và silo ảo để xây dựng website dễ điều hướng, thuận tiện quản lý và hỗ trợ SEO.

09/11/2026

Top 15 các phần mềm quay lại màn hình miễn phí cho máy tính và điện thoại

Các phần mềm quay lại màn hình miễn phí giúp bạn ghi hình rõ nét, lưu lại thao tác và tạo video hướng dẫn trực quan cho nhu cầu học tập, làm việc hằng ngày.

09/11/2026

Postfix là gì? Hướng dẫn cài đặt và cấu hình trên Ubuntu

Postfix là gì được giải đáp qua vai trò của phần mềm chuyển thư mã nguồn mở, giúp doanh nghiệp chủ động quản lý luồng email và cấu hình hệ thống trên Linux.

09/11/2026

Cách quét mã độc cho website WordPress và lưu ý bảo mật cần biết

Cách quét mã độc cho website WordPress giúp phát hiện tệp đáng ngờ, xác định dấu vết xâm nhập và hỗ trợ xử lý sớm nguy cơ ảnh hưởng đến dữ liệu, người truy cập.

09/11/2026

Top 20 các plugin hữu ích cho WordPress tốt nhất nên cài đặt

Các plugin hữu ích cho WordPress giúp mở rộng chức năng sẵn có của website, cải thiện trải nghiệm người dùng và đơn giản hóa công việc quản trị hằng ngày.

09/11/2026

Hướng dẫn cài đặt các ứng dụng trên Ubuntu cho người mới

Hướng dẫn cài đặt các ứng dụng trên Ubuntu chi tiết từng bước, giúp người mới dễ dàng thao tác từ tải phần mềm, thiết lập gói cài đến khởi chạy ứng dụng.