Tuple trong Python

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

1. Giới thiệu về Tuple trong Python

Tuple là một cấu trúc dữ liệu trong Python, hoạt động như một danh sách nhưng có tính chất bất biến (immutable). Điều này có nghĩa là sau khi một tuple được tạo ra, chúng ta không thể thay đổi nội dung của nó. Một tuple có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau, bao gồm số, chuỗi, danh sách, từ điển, hoặc thậm chí cả tuple khác.

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

Đặc điểm chính của tuple:

  • Có thứ tự (Ordered)
  • Bất biến (Immutable)
  • Hỗn hợp kiểu dữ liệu (Heterogeneous)

2. Cách tạo Tuple trong Python

Một tuple được tạo bằng cách đặt các phần tử bên trong dấu ngoặc tròn (), phân tách nhau bằng dấu phẩy ,. Tuple có thể chứa bất kỳ số lượng phần tử nào và mỗi phần tử có thể thuộc kiểu dữ liệu khác nhau.

Ví dụ:
# Tạo một tuple rỗng
tup = ()
print(tup)

# Tuple chứa chuỗi
tup = ('Python', 'Programming')
print(tup)

# Chuyển danh sách thành tuple
lst = [1, 2, 3, 4]
tup = tuple(lst)
print(tup)

# Sử dụng hàm tuple() để chuyển đổi chuỗi thành tuple
tup = tuple('Python')
print(tup)
Kết quả:
()
('Python', 'Programming')
(1, 2, 3, 4)
('P', 'y', 't', 'h', 'o', 'n')

3. Tuple có các kiểu dữ liệu hỗn hợp

Tuple có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau, bao gồm số, chuỗi, danh sách, hoặc thậm chí là tuple lồng nhau.

Ví dụ:
# Tuple chứa nhiều kiểu dữ liệu
tup = (10, "Hello", 3.14, [1, 2, 3])
print(tup)

# Tuple lồng nhau
tup1 = (1, 2, 3)
tup2 = ('Python', 'Tuple')
nested_tup = (tup1, tup2)
print(nested_tup)

# Tuple lặp lại phần tử nhiều lần
tup_repeat = ('Python',) * 3
print(tup_repeat)
Kết quả:
(10, 'Hello', 3.14, [1, 2, 3])
((1, 2, 3), ('Python', 'Tuple'))
('Python', 'Python', 'Python')

4. Truy cập phần tử trong Tuple

Ta có thể truy cập các phần tử trong tuple bằng chỉ mục (indexing) hoặc cắt lát (slicing) giống như danh sách.

Ví dụ:
# Truy cập phần tử bằng chỉ mục
tup = ('P', 'y', 't', 'h', 'o', 'n')
print(tup[0])   # Phần tử đầu tiên
print(tup[-1])  # Phần tử cuối cùng

# Cắt lát (slicing) tuple
print(tup[1:4])  # Lấy các phần tử từ chỉ mục 1 đến 3
print(tup[:3])   # Lấy 3 phần tử đầu tiên

# Phân rã tuple (Tuple unpacking)
tup = ('Python', 'is', 'awesome')
a, b, c = tup
print(a)
print(b)
print(c)
Kết quả:
P
n
('y', 't', 'h')
('P', 'y', 't')
Python
is
awesome

5. Nối và nhân Tuple

Ta có thể nối hai tuple bằng toán tử + hoặc nhân tuple bằng toán tử * để tạo một tuple mới.

Ví dụ:
# Nối hai tuple
tup1 = (1, 2, 3)
tup2 = ('Python', 'Tuple')
tup3 = tup1 + tup2
print(tup3)

# Nhân tuple
tup_repeat = ('Python',) * 3
print(tup_repeat)
Kết quả:
(1, 2, 3, 'Python', 'Tuple')
('Python', 'Python', 'Python')

6. Cắt lát (Slicing) trong Tuple

Slicing cho phép tạo một tuple mới từ một phần của tuple ban đầu bằng cú pháp [start:stop:step].

Ví dụ:
tup = tuple('PYTHONPROGRAMMING')

# Loại bỏ phần tử đầu tiên
print(tup[1:])

# Đảo ngược tuple
print(tup[::-1])

# Lấy một phần cụ thể của tuple
print(tup[4:9])
Kết quả:
('Y', 'T', 'H', 'O', 'N', 'P', 'R', 'O', 'G', 'R', 'A', 'M', 'M', 'I', 'N', 'G')
('G', 'N', 'I', 'M', 'M', 'A', 'R', 'G', 'O', 'R', 'P', 'N', 'O', 'H', 'T', 'Y', 'P')
('O', 'N', 'P', 'R', 'O')

7. Xóa Tuple

Do tuple là bất biến (immutable), ta không thể xóa một phần tử trong tuple, nhưng có thể xóa toàn bộ tuple bằng del.

Ví dụ:
tup = (1, 2, 3, 4)
del tup
print(tup)  # Lỗi vì tuple đã bị xóa

8. Các phương thức và hàm dựng sẵn cho Tuple

Mặc dù tuple bất biến, nhưng vẫn có một số phương thức hỗ trợ làm việc với tuple như count()index().

Phương thứcMô tả
index(value)Trả về chỉ mục của giá trị đầu tiên tìm thấy
count(value)Đếm số lần xuất hiện của giá trị trong tuple
Ví dụ:
tup = (1, 2, 3, 2, 2, 4)
print(tup.count(2))  # Đếm số lần xuất hiện của số 2
print(tup.index(3))  # Lấy vị trí của số 3
Kết quả:
3
2

9. So sánh Tuple và List

Đặc điểmTupleList
Bất biến✅ Không thể thay đổi sau khi tạo❌ Có thể thay đổi
Tốc độ✅ Nhanh hơn khi truy xuất❌ Chậm hơn
Sử dụng làm khóa dictionary✅ Được phép❌ Không được phép
Phương thức hỗ trợÍt phương thức hơnNhiều phương thức hơn

Kết luận

  • Tuple là một cấu trúc dữ liệu quan trọng trong Python, giúp lưu trữ dữ liệu một cách an toàn và hiệu quả.
  • Do tính bất biến, tuple phù hợp để làm khóa trong từ điển và các dữ liệu cố định.
  • Nếu cần một cấu trúc linh hoạt hơn, nên sử dụng List thay vì Tuple.

Menu Python>>

Để lại một bình luận

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 *

error: Content is protected !!
Hotline: 039.2266.928
Khóa học Toefl
Phone now