Bài 9 – Kiểu dữ liệu tuple trong ngôn ngữ lập trình Python

Lập trình Python
Lập trình Python

1. Tìm hiểu kiểu dữ liệu tuple

– 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.

– Cấu trúc của kiểu dữ liệu tuple như sau:     (giá trị 1>, <giá trị 2>,…,<giá trị n>)

Trong đó:

+ Chỉ số dương của các phần tử được đánh bắt đầu từ phần tử đầu là 0 đến số phần tử trừ 1

+ Chỉ số âm của các phần tử được đánh bắt từ phần tử cuối là -1 đến – số phần tử

2. Khởi tạo tuple

a. Dạng liệt kê

Ví dụ:

tup = ()		#Tạo biến tup kiểu tuple rỗng
tup = (1,)		#Tạo biến tup kiểu tuple có 1 phần tử có giá trị là 1
tup = (1, 3, “Hello”)	#Tạo biến tup kiểu tuple gồm 3 phần tử
tup = ((1,2,3),(4,5,6))	#Tạo tuple lồng nhau để mô tả ma trận

b. Dạng tuple Comprehension

  <tên biến tuple> = tuple((<biểu thức> for <tên biến> if <điều kiện>))

Ví dụ:

tup = tuple(x for x in range(0,11) if x%2!=0)	#Tạo biến tup kiểu tuple gồm 5 số lẻ
tup = tuple(‘Hello’)		#Tạo biến tup = (‘H’,’e’,’l’,’l’,’o’) từ xâu
tup = tuple([1, 3, “Hello”])	#Tạo biến tup kiểu tuple gồm 3 phần tử từ list

Lưu ý: Vì kiểu tuple là hash object do đó ta không thể thay đổi giá trị từng phần tử của tuple

tup[1] = ‘Xin chao’	#TypeError: 'tuple' object does not support item assignment

3. Một số toán tử với tuple

Toán tửÝ nghĩa
a + bNối tuple a vào sau tuple b
a * kLặp lại số phần tử của tuple a với k lần
x in aTrả về True nếu x có trong a và False nếu x không có trong a
Một số toán tử với tuple

4. Indexing và cắt tuple

Cú pháp:  <tên tuple>[start:end] lấy phần tử từ vị trí start đến trước end (end-1)

Ví dụ:

tup = (1, 2, ‘a’, ‘b’, [3, 4])

Khi đó:

tup[0] = 1			#Phần tử thứ 1
tup[-1] = [3, 4]			#Phần tử cuối cùng
tup[1:3] = (2, ‘a’)			#Các phần tử từ chỉ số 1 đến 2
tupe[:2] = (1, 2)			#Các phần tử từ chỉ số 1 về đầu
tup[2:] = (‘a’, ‘b’, [3, 4])		#Các phần tử từ chỉ số 2 về cuối
tup[::-1] = ([3, 4], ‘b’, ‘a’, 2, 1)	#Đảo ngược tuple

Lưu ý:

– Như vậy indexing và cắt tuple tương tự như kiểu dữ liệu xâu hoặc kiểu danh sách

– Điểm khác biệt cơ bản giữa tuple và list đó là tuple là hash object (đối tượng không thể sửa đổi dữ liệu từng phần tử còn list là unhash object nên có thể sửa đổi dữ liệu cho từng phần tử).

5. Một số hàm xử lý tuple trong Python

HàmÝ nghĩa
len(tup)Trả về độ dài của tuple
max(tup)Trả về giá trị lớn nhất của tuple
min(tup)Trả về giá trị nhỏ nhất của tuple
sorted(tup[,key = <tên hàm>],reverse=True)Trả về list của tup sau khi đã sắp xếp tăng dần
tuple(seq)Chuyển dãy thành kiểu tuple
Một số hàm xử lý tuple

Ví dụ:

tup1 = (5, -4, -7, 6)
tup = tuple(sorted(tup1,key = abs))	#Sắp xếp tuple theo trị tuyệt đối
tup2 = (“apple”,”pen”,”desk”,”banana”)
tup = tuple(sorted(tup2,key = len))	#Sắp xếp theo độ dài của xâu
tup = tuple(sorted(tup2,key = my_func))	#Sắp xếp theo hàm tự định nghĩa my_func

Xem tiếp Bài 10 – Chương trình con trong ngôn ngữ lập trình Python

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *