Tuple là một tập hợp các đối tượng Python giống như một list. Chuỗi các giá trị được lưu trữ trong một tuple có thể thuộc bất kỳ loại nào và chúng được lập chỉ mục bởi các giá trị nguyên.
Các giá trị của một tuple được phân tách theo cú pháp bởi ‘dấu phẩy’. Mặc dù không cần thiết, nhưng thông thường, người ta định nghĩa tuple bằng cách đóng chuỗi giá trị trong ngoặc đơn. Điều này giúp chúng ta hiểu được các tuple trong Python dễ dàng hơn.

1. Tạo một tuple

Trong Python, các tuple được tạo bằng cách đặt chuỗi các giá trị được phân tách bằng ‘dấu phẩy’, có hoặc không có dấu ngoặc đơn để nhóm chuỗi dữ liệu.

Lưu ý – Tạo tuple trong Python mà không sử dụng dấu ngoặc đơn được gọi là Đóng gói Tuple.

2. Chương trình trong Python để bổ sung các phần tử trong Tuple.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


#Creating an empty Tuple 
Tuple1 = () 
print("Initial empty Tuple: ") 
print (Tuple1) 
  
#Creatting a Tuple  
#with the use of string 
Tuple1 = ('Cafedev', 'For') 
print("\nTuple with the use of String: ") 
print(Tuple1) 
  
# Creating a Tuple with 
# the use of list 
list1 = [1, 2, 4, 5, 6] 
print("\nTuple using List: ") 
print(tuple(list1)) 
  
#Creating a Tuple  
#with the use of built-in function 
Tuple1 = tuple('Cafedev') 
print("\nTuple with the use of function: ") 
print(Tuple1) 

Kết quả:

Initial empty Tuple: 
()

Tuple with the use of String: 
('Cafedev', 'For')

Tuple using List: 
(1, 2, 4, 5, 6)

Tuple with the use of function: 
('C', 'a', 'f', 'e', 'd', 'e', 'v')

3. Tạo một Tuple với các kiểu dữ liệu hỗn hợp.

Các tuple có thể chứa bất kỳ số lượng phần tử và của bất kỳ kiểu dữ liệu nào (như chuỗi, số nguyên, list, v.v.). Các Tuple cũng có thể được tạo bằng một yếu tố duy nhất, nhưng nó hơi phức tạp. Có một yếu tố trong ngoặc đơn là chưa đủ, phải có ‘dấu phẩy’ để làm cho nó thành một tuple.


#Creating a Tuple 
#with Mixed Datatype 
Tuple1 = (5, 'Welcome', 7, 'Cafedev') 
print("\nTuple with Mixed Datatypes: ") 
print(Tuple1) 
  
#Creating a Tuple 
#with nested tuples 
Tuple1 = (0, 1, 2, 3) 
Tuple2 = ('python', 'Cafedev') 
Tuple3 = (Tuple1, Tuple2) 
print("\nTuple with nested tuples: ") 
print(Tuple3) 
  
#Creating a Tuple 
#with repetition 
Tuple1 = ('Cafedev',) * 3
print("\nTuple with repetition: ") 
print(Tuple1) 
  
#Creating a Tuple  
#with the use of loop 
Tuple1 = ('Cafedev') 
n = 5
print("\nTuple with a loop") 
for i in range(int(n)): 
    Tuple1 = (Tuple1,) 
    print(Tuple1) 

Kết quả:

Tuple with Mixed Datatypes: 
(5, 'Welcome', 7, 'Cafedev')

Tuple with nested tuples: 
((0, 1, 2, 3), ('python', 'Cafedev'))

Tuple with repetition: 
('Cafedev', 'Cafedev', 'Cafedev')

Tuple with a loop
('Cafedev',)
(('Cafedev',),)
((('Cafedev',),),)
(((('Cafedev',),),),)
((((('Cafedev',),),),),)

4. Quyền truy cập của Tuples

Các tuple là bất biến, và thông thường, chúng chứa một chuỗi các phần tử không đồng nhất được truy cập thông qua việc giải nén hoặc lập chỉ mục (hoặc thậm chí bằng các thuộc tính trong trường hợp các tuple có tên). Danh sách có thể thay đổi và các phần tử của chúng thường đồng nhất và được truy cập bằng cách lặp qua list.

Ghi chú: Trong việc giải nén tuple, số của các biến ở phía bên trái phải bằng số giá trị trong tuple đã cho.


# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


#Accessing Tuple 
#with Indexing 
Tuple1 = tuple("Cafedev") 
print("\nFirst element of Tuple: ") 
print(Tuple1[1]) 
  
  
#Tuple unpacking 
Tuple1 = ("Cafedev", "For", "Cafedev") 
  
#This line unpack  
#values of Tuple1 
a, b, c = Tuple1 
print("\nValues after unpacking: ") 
print(a) 
print(b) 
print(c) 

Kết quả:

First element of Tuple:
a

Values after unpacking:
Cafedev
For
Cafedev

5. Phép ghép nối của Tuples

Phép ghép nối của tuple là quá trình nối hai hoặc nhiều tuple lại với nhau. Phép ghép nối này được thực hiện bằng cách sử dụng toán tử ‘+’. Ghép các tuple được thực hiện luôn luôn từ cuối tuple gốc. Các phép toán số học khác không áp dụng trên Tuples.
Lưu ý- Chỉ có các kiểu dữ liệu giống nhau có thể được kết hợp với phép ghép nối này, nếu ghép một tuple với một list sẽ phát sinh lỗi.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Concatenaton of tuples 
Tuple1 = (0, 1, 2, 3) 
Tuple2 = ('Cafedev', 'For', 'Cafedev') 
  
Tuple3 = Tuple1 + Tuple2 
  
# Printing first Tuple 
print("Tuple 1: ") 
print(Tuple1) 
  
# Printing Second Tuple 
print("\nTuple2: ") 
print(Tuple2) 
  
# Printing Final Tuple 
print("\nTuples after Concatenaton: ") 
print(Tuple3) 

Kết quả:

Tuple 1: 
(0, 1, 2, 3)

Tuple2: 
('Cafedev', 'For', 'Cafedev')

Tuples after Concatenaton: 
(0, 1, 2, 3, 'Cafedev', 'For', 'Cafedev')

6. Phép cắt của Tuple

Cắt một Tuple được thực hiện để lấy một chuỗi cụ thể hoặc lát các thành phần phụ từ Tuple. Phép cắt cũng có thể được thực hiện với list và array. Lập chỉ mục trong kết quả dạng list để tìm kiếm một phần tử trong khi Cắt cho phép tìm kiếm một tập hợp các phần tử.
Lưu ý- Giá trị tăng âm cũng có thể được sử dụng để đảo ngược chuỗi tuple.
[Hình ảnh]

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Slicing of a Tuple 
  
# Slicing of a Tuple 
# with Numbers 
Tuple1 = tuple('GEEKSFORGEEKS') 
  
# Removing First element 
print("Removal of First Element: ") 
print(Tuple1[1:]) 
  
# Reversing the Tuple  
print("\nTuple after sequence of Element is reversed: ") 
print(Tuple1[::-1]) 
  
# Printing elements of a Range 
print("\nPrinting elements between Range 4-9: ") 
print(Tuple1[4:9]) 

Kết quả:

Removal of First Element: 
('E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S')

Tuple after sequence of Element is reversed: 
('S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G')

Printing elements between Range 4-9: 
('S', 'F', 'O', 'R', 'G')

7. Phép xóa của tuple

Tuples là bất biến và do đó chúng không cho phép xóa một phần của nó. Toàn bộ tuple bị xóa bằng cách sử dụng phương thức del().
Lưu ý- In Tuple sau khi xóa sẽ dẫn đến lỗi.


# Deleting a Tuple 
  
Tuple1 = (0, 1, 2, 3, 4) 
del Tuple1 
  
print(Tuple1) 
Traceback (most recent call last):
File “/home/efa50fd0709dec08434191f32275928a.py”, line 7, in
print(Tuple1)
NameError: name ‘Tuple1’ is not defined

8. Phương thức tích hợp

CHỨC NĂNG TÍCH HỢPSỰ MIÊU TẢ
All()Trả về true nếu tất cả phần tử là true hoặc nếu tuple trống
Any()Trả về true nếu bất kỳ phần tử nào của tuple là true. Nếu tuple trống, trả về false
len()Trả về chiều dài của tuple hoặc kích thước của tuple
List()Trả về đối tượng liệt kê của tuple
Max()Trả về phần tử tối đa của tuple đã cho
Min()Trả về phần tử tối thiểu của tuple đã cho
Sum()Tổng hợp các số trong tuple
Sorted()Các yếu tố đầu vào trong tuple và trả về một danh sách mới được sắp xếp
Tuple()Chuyển đổi một iterable thành một tuple

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!