Python - Các cặp: Hướng dẫn cho người mới bắt đầu

Xin chào các bạn, những người yêu thích Python tương lai! Hôm nay, chúng ta sẽ bắt đầu hành trình thú vị vào thế giới của các cặp trong Python. Đừng lo nếu bạn chưa từng lập trình trước đây - tôi sẽ luôn ở bên bạn, giải thích mọi thứ từng bước. Vậy, hãy lấy một chén cà phê (hoặc trà, nếu bạn thích), và hãy bắt đầu nhé!

Python - Tuples

Cặp là gì?

Trước khi bắt đầu, hãy hiểu rõ cặp là gì. Hãy tưởng tượng cặp như một hộp có thể chứa nhiều mục, giống như một hộp trà xanh hỗn hợp. Cú sốc là gì? Việc bạn đã đóng hộp trà xanh (hoặc dữ liệu) vào hộp này, bạn không thể thay đổi chúng!

Dưới đây là cách chúng ta tạo một cặp:

my_first_tuple = (1, 2, 3, 'hello', 'world')
print(my_first_tuple)

Khi bạn chạy mã này, bạn sẽ thấy:

(1, 2, 3, 'hello', 'world')

Thấy chưa mà dễ! Chúng ta vừa tạo được cặp đầu tiên của mình!

Truy cập các giá trị trong các cặp

Bây giờ khi đã có cặp, hãy học cách truy cập các mục bên trong nó. Chúng ta làm điều này bằng cách sử dụng gì đó gọi là "chỉ mục". Hãy tưởng tượng chỉ mục là số thứ tự của một mục trong cặp, bắt đầu từ 0.

my_tuple = ('apple', 'banana', 'cherry', 'date')
print(my_tuple[0])  # Điều này sẽ in ra 'apple'
print(my_tuple[2])  # Điều này sẽ in ra 'cherry'

Kết quả:

apple
cherry

Nhớ rằng, trong Python (và nhiều ngôn ngữ lập trình khác), chúng ta bắt đầu đếm từ 0, không phải 1. Như một trò chơi ẩn số kỳ lạ nơi "0" kêu "Sẵn sàng hay chưa, tôi đến rồi!"

Cập nhật các cặp

Nhớ rồi khi tôi nói rằng các cặp như những hộp trà xanh mà bạn không thể thay đổi sau khi đóng hộp? Đúng vậy! Các cặp là không thể thay đổi, có nghĩa là bạn không thể thay đổi nội dung của chúng sau khi tạo.

my_tuple = ('apple', 'banana', 'cherry')
my_tuple[0] = 'pear'  # Điều này sẽ gây ra lỗi!

Nếu bạn thử chạy mã này, Python sẽ ném ra một lỗi (như một cơn giận dữ) vì bạn đang cố gắng thay đổi điều gì không thể thay đổi.

Nhưng chờ đợi! Có một cách giải quyết. Bạn có thể chuyển cặp thành danh sách, thực hiện các thay đổi và sau đó chuyển nó trở lại thành cặp:

my_tuple = ('apple', 'banana', 'cherry')
my_list = list(my_tuple)
my_list[0] = 'pear'
my_new_tuple = tuple(my_list)
print(my_new_tuple)

Kết quả:

('pear', 'banana', 'cherry')

Có như màu thần, phải không? Chúng ta đã tạo ra một cặp mới với các thay đổi mà chúng ta muốn.

Xóa các phần tử của cặp

Giống như chúng ta không thể cập nhật các phần tử riêng lẻ, chúng ta cũng không thể xóa các phần tử riêng lẻ khỏi cặp. Tuy nhiên, chúng ta có thể xóa toàn bộ cặp:

my_tuple = ('apple', 'banana', 'cherry')
del my_tuple
print(my_tuple)  # Điều này sẽ gây ra lỗi vì my_tuple không còn tồn tại

Điều này như là bạn đổ đi toàn bộ hộp trà xanh thay vì chỉ lấy ra những món không thích!

Các thao tác trên cặp Python

Các cặp hỗ trợ nhiều thao tác. Hãy xem một số của chúng:

Nối chuỗi

Chúng ta có thể nối hai cặp lại với nhau bằng cách sử dụng toán tử '+':

tuple1 = (1, 2, 3)
tuple2 = ('a', 'b', 'c')
tuple3 = tuple1 + tuple2
print(tuple3)

Kết quả:

(1, 2, 3, 'a', 'b', 'c')

Lặp lại

Chúng ta có thể lặp lại cặp bằng cách sử dụng toán tử '*':

my_tuple = ('Python',) * 3
print(my_tuple)

Kết quả:

('Python', 'Python', 'Python')

Thành viên

Chúng ta có thể kiểm tra xem một mục có tồn tại trong cặp hay không bằng cách sử dụng từ khóa 'in':

my_tuple = ('apple', 'banana', 'cherry')
print('banana' in my_tuple)
print('grape' in my_tuple)

Kết quả:

True
False

Chỉ mục, cắt và Ma trận

Các cặp hỗ trợ chỉ mục và cắt, tương tự như danh sách. Hãy xem một số ví dụ:

my_tuple = ('p', 'y', 't', 'h', 'o', 'n')
print(my_tuple[1:4])  # Cắt
print(my_tuple[::-1])  # Đảo ngược cặp

Kết quả:

('y', 't', 'h')
('n', 'o', 'h', 't', 'y', 'p')

Không có dấu đóng mở

Dưới đây là một thông tin thú vị: trong Python, bạn có thể tạo các cặp mà không cần dấu ngoặc! Điều này gọi là "đóng gói cặp":

my_tuple = 1, 2, 3, 'hello'
print(my_tuple)
print(type(my_tuple))

Kết quả:

(1, 2, 3, 'hello')
<class 'tuple'>

Ngay cả khi không có dấu ngoặc, Python vẫn nhận ra điều này là một cặp!

Các hàm tích hợp với cặp

Python cung cấp nhiều hàm tích hợp để làm việc với các cặp. Hãy xem một số của chúng:

Hàm Mô tả Ví dụ
len() Trả về độ dài của cặp len((1, 2, 3)) trả về 3
max() Trả về phần tử lớn nhất trong cặp max((1, 5, 3)) trả về 5
min() Trả về phần tử nhỏ nhất trong cặp min((1, 5, 3)) trả về 1
sum() Trả về tổng của tất cả các số trong cặp sum((1, 2, 3)) trả về 6
sorted() Trả về danh sách mới được sắp xếp từ cặp sorted((3, 1, 2)) trả về [1, 2, 3]

Dưới đây là ví dụ sử dụng các hàm này:

my_tuple = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
print("Length:", len(my_tuple))
print("Maximum:", max(my_tuple))
print("Minimum:", min(my_tuple))
print("Sum:", sum(my_tuple))
print("Sorted:", sorted(my_tuple))

Kết quả:

Length: 11
Maximum: 9
Minimum: 1
Sum: 44
Sorted: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

Và thế là! Bạn đã hoàn thành khóa học đột ngột về các cặp Python. Nhớ rằng, luyện tập là chìa khóa để thành thạo, vì vậy đừng ngại thử nghiệm với các khái niệm này. Ai biết? Bạn có thể sẽ "tuples" mình đến trở thành một phần của Python! Chúc bạn có một ngày lập trình vui vẻ!

Credits: Image by storyset