Tuple unpacking (giải nén tuple) là gán các phần tử của tuple vào nhiều biến riêng biệt trong một câu lệnh.
Tuple là gì?
Tuple là sequence immutable, dùng cặp ngoặc tròn (). Không thể thay đổi sau khi tạo.
Packing vs Unpacking
- Packing: Gom nhiều giá trị vào một tuple:
t = (1, 2, 3) - Unpacking: Trích xuất giá trị từ tuple vào các biến:
a, b, c = t
Yêu cầu: Số biến bên trái phải bằng số phần tử tuple.
Ví dụ 1: Unpacking cơ bản
tup = ("Tutorials Point", 132, "Employees")
# packing
(companyname, employerscount, information) = tup # unpacking
print(companyname)
print(employerscount)
print(information)
Tutorials Point 132 Employees
Ví dụ 2: Unpacking với tên biến có ý nghĩa
tup = ("RRS College of Engg and Technology", 6000, "Engineering")
(college, student, graduates) = tup
print(college)
print(student)
print(graduates)
RRS College of Engg and Technology 6000 Engineering
Unpacking mở rộng (Python 3+)
# * để gom phần còn lại a, b, *rest = (1, 2, 3, 4, 5) print(a, b, rest) # 1 2 [3, 4, 5] # Bỏ qua giá trị dùng _ x, _, z = (1, 2, 3) print(x, z) # 1 3
Ứng dụng thực tế
- Hoán đổi biến:
a, b = b, a - Trả về nhiều giá trị từ hàm:
return x, y->a, b = func() - Duyệt dictionary:
for k, v in d.items()