Tìm hiểu kiểu dữ liệu Tuple trong Python

Kiểu dữ liệu Tuple trong python là một collection có thứ tự, không thể thay đổi. Cho phép chứa dữ liệu trùng lặp.
seopro

Tuple là một container cũng được sử dụng rất nhiều trong các chương trình Python không thua kém gì List. Vậy, tuple trong Python thực chất là gì và có những tính năng cơ bản nào? Để có cái nhìn tổng quan và chi tiết, mời bạn cùng ptdulieu theo dõi bài viết dưới đây.

Table of Contents

Tuple là gì trong Python?

Tuple trong Python là một kiểu dữ liệu dùng để lưu trữ các đối tượng có thứ tự và bất biến. Cách lưu trữ của nó cũng khá giống với kiểu dữ liệu List. Tuy nhiên, sự khác biệt giữa List và Tuple, đó là List có thể thay đổi (mutability) trong khi Tuple là bất biến (immutability).

Tạo Tuple trong python

Tuple trong python được viết bởi dấu ngoặc đơn ( ) hoặc hàm tuple(). Chỉ mục index đầu tiên của tuple là 0.

number = (1, 2, 3, 4, 5, 6, 7)
print(number)

#kết quả: (1, 2, 3, 4, 5, 6, 7)

#hoặc phân cách bằng dấu phẩy
string = 'red', 'blue' , 'green'
print(string)

#kết quả: ('red', 'blue', 'green')

Ví dụ sử dụng constructor tuple() để tạo một tuple.

#Sử dụng hàm tuple() để tạo một tuple.
mixed_tuple = tuple([1, (2 +3j), True])
print(mixed_tuple)

#kết quả: (1, (2+3j), True)

str_to_up = tuple('Peter')
print(str_to_up)

#kết quả: ('P', 'e', 't', 'e', 'r')

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

Để tạo một tuple chỉ có 1 phần tử (item), bạn phải thêm dấu phẩy “,” ở phía sau của phần tử. Nếu không có dấu phẩy phía sau thì nó không phải là kiểu dữ liệu tuple mà nó sẽ thành kiểu dữ liệu string.

true_tuple = (4,)
print(true_tuple, type(true_tuple))

false_tuple2 = (4)
print(false_tuple2, type(false_tuple2))

false_tuple3 = ('a')
print(false_tuple3, type(false_tuple3))

#kết quả:
(4,) <class 'tuple'>
4 <class 'int'>
a <class 'str'>

Tuple lồng nhau trong Python (Nested Tuples in Python)

Một tuple lồng nhau là một tuple Python được đặt bên trong một tuple khác.

nested1 = (1, (2 +3j), ('a', 'b'), True)
print(nested1)

#kết quả:(1, (2+3j), ('a', 'b'), True)

nested2 = (1, 2, ['red', 'blue'], False)
print(nested2)

#kết quả: (1, 2, ['red', 'blue'], False)

nested3 = tuple([1, 2, ('y', 'z'), 'Jack'])
print(nested3)

#kết quả:(1, 2, ('y', 'z'), 'Jack')

nested4 = tuple(['a', 'b', [1, 2, 3, 4]])
print(nested4

#kết quả:('a', 'b', [1, 2, 3, 4])

Tuple Packing anh Unpacking

Đóng gói với Tuples (Packing with Tuples)

Trong Python, “đóng gói” ám chỉ quá trình đưa các giá trị vào một tuple hoặc danh sách mới bằng cách phân tách chúng bằng dấu phẩy. Điều này có thể được thực hiện bằng một câu lệnh gán trong đó phía bên trái là một tuple hoặc danh sách các biến và phía bên phải là một tuple hoặc danh sách các giá trị khác.

Ví dụ, bạn có thể có ba biến là number1, number2 và number3, được định nghĩa như sau:

number1 = 1
number2 = 2
number3 = 3

#Bạn có thể đóng gói các biến đó thành một bộ như thế này:
myTup = (number1, number2, number3)

#Hoặc một danh sách như thế này
myList = [number1, number2, number3]

Giải nén với Tuples (Unpacking with Tuples)

Trong Python, giải nén là quá trình trích xuất các giá trị từ một chuỗi và gán chúng cho nhiều biến. Chúng ta thực hiện giải nén bằng toán tử gán ở phía bên trái và một đối tượng lặp lại ở phía bên trái.

Ví dụ, chúng ta có thể giải nén một tuple như thế này:

myTuple = (1, 2, 3)
a, b, c = myTuple
print(myTuple)

#kết quả:(1, 2, 3)

#ví dụ khác về việc giải nén một tuple
fruits = ("apple", "banana", "cherry")
(green, yellow, red) = fruits
 
print(green)
print(yellow)
print(red)

#kết quả:
apple
banana
cherry

Truy cập tới các phần tử của Tuple trong python

Truy cập tới các phần tử (items) trong tuple bằng chỉ số index.

# Truy cập tới các phần tử của tuple bởi chỉ số index
my_tuple = ('red', 'blue', 'green', 'violet', 'white')
my_tuple[0]

#kết quả:'red'

Truy cập tới các phần tử (items) trong tuple bằng chỉ số index âm.
my_tuple = ('red', 'blue', 'green', 'violet', 'white')
my_tuple[-2]

#kết quả:'violet'

Truy cập tới các phần tử (items) trong tuple bởi một phạm vi hoặc một dải chỉ mục indexs

Toán tử slice trong Python được dùng để trích xuất một hoặc nhiều phần tử từ một Tuple. Chúng ta có thể truy cập các phần tử Tuple bằng toán tử slice bằng cách chỉ định phạm vi chỉ số muốn trích xuất. Toán tử slice có cú pháp sau:

[start:stop]

#Trong đó:
#start là chỉ số bắt đầu (bao gồm cả phần tử tại vị trí start).
#stop là chỉ số kết thúc (không bao gồm phần tử tại vị trí stop).

#Lưu ý: Giá trị lấy từ phần tử thứ 1 (Bao gồm giá trị của phần tử thứ 1) tới phần tử thứ 3 (Không bao gồm giá trị phần tử thứ 3)

# Truy cập tới các phần tử của tuple bởi một dải chỉ số index.
tuple_fruits =  ('Apple','Orange','Mango','Guava','Lemon')
tupe_rangeindex = tuple_fruits[1:3] 
print(tupe_rangeindex)

#kết quả: ('Orange', 'Mango')

# Truy cập tới các phần tử của tuple bởi dải chỉ số index âm.
tuple_fruits =  ('Apple','Orange','Mango','Guava','Lemon')
tupe_rangeindex = tuple_fruits[-3:-1] 
print(tupe_rangeindex)

#kết quả: ('Mango', 'Guava')

Truy cập tới các phần tử của tuple bằng dải index từ vị trí đầu tiên tới giá trị index chỉ định.

#index từ vị trí đầu tiên tới giá trị index chỉ định
tuple_fruits =  ('Apple','Orange','Mango','Guava','Lemon')
tupe_rangeindex = tuple_fruits[:3] 
print(tupe_rangeindex)

#kết quả: ('Apple', 'Orange', 'Mango')

Truy cập tới các phần tử của tuple bằng dải index từ vị trí index chỉ định tới vị trí cuối cùng.

#index từ vị trí index chỉ định tới vị trí cuối cùng.
tuple_fruits =  ('Apple','Orange','Mango','Guava','Lemon')
tupe_rangeindex = tuple_fruits[2:] 
print(tupe_rangeindex)

#kết quả: ('Mango', 'Guava', 'Lemon')

Nối các tuple trong python

#dùng dấu +
joined_tup = ('a', 'b', 'c') + (1, 2, 3)
print(joined_tup)

#kết quả:('a', 'b', 'c', 1, 2, 3)

#lặp lại giá trị dấu *
multiplied_tup = ('Jack',) * 4
print(multiplied_tup)

#kết quả:('Jack', 'Jack', 'Jack', 'Jack')

Sắp xếp giá trị trong Tuple

#dùng sorted
string = ('h', 'a', 'j', 'b', 'l')
print(sorted(string))

#kết quả:['a', 'b', 'h', 'j', 'l']

number = (10, 3, 5, 2, 9, 0)
print(sorted(number))

#kết quả:[0, 2, 3, 5, 9, 10]

Vòng lặp for của tuple trong python

#Cách sử dụng vòng lặp for của tuple trong python
tuple_fruits =  ('Apple','Orange','Mango','Guava','Lemon')
for i in tuple_fruits:
    print(i)
    
#kết quả:
Apple
Orange
Mango
Guava
Lemon

# Kiểm tra sự tồn tại của một phần tử trong tuple.
tuple_fruits =  ('Apple','Orange','Mango','Guava','Lemon')
x='Lemon' in tuple_fruits
if(x==True):
    print('Lemon co trong tuple')
else:
    print('Lemon khong co trong tuple')
    
#kết quả: Lemon co trong tuple   

Tìm giá trị lớn nhất và nhỏ nhất trong 1 tuple

# Tìm giá trị lớn nhất trong 1 tuple
tuple1 = (0,3,5,6,8,9,7)
giatrimax = max(tuple1)
print('Gia tri max nhat la:', giatrimax)

#kết quả: Gia tri max nhat la: 9

# Tìm giá trị nhỏ nhất trong  tuple
tuple1 = (0,3,5,6,8,9,7)
giatrimin = min(tuple1)
print('Gia tri nho nhat la:', giatrimin)

#kết quả:Gia tri nho nhat la: 0

Hy vọng bài viết tìm hiểu kiểu dữ liệu Tuple trong Python này sẽ cung cấp cho bạn một cái nhìn tổng quan và hữu ích về Tuple, giúp bạn áp dụng hiệu quả hơn vào các dự án Python của mình.

Đăng nhận xét