Extended unpacking - a, *b, c = [1,2,3,4,5]
Extended unpacking (Python 3)
Phần tiêu đề “Extended unpacking (Python 3)”# Bắt "phần còn lại" với *a, *b, c = [1, 2, 3, 4, 5]
print(a) # 1print(b) # [2, 3, 4] ✅ List!print(c) # 5Các trường hợp
Phần tiêu đề “Các trường hợp”Đầu list
Phần tiêu đề “Đầu list”first, *rest = [1, 2, 3, 4]print(first) # 1print(rest) # [2, 3, 4]Cuối list
Phần tiêu đề “Cuối list”*init, last = [1, 2, 3, 4]print(init) # [1, 2, 3]print(last) # 4Giữa list
Phần tiêu đề “Giữa list”first, *middle, last = [1, 2, 3, 4, 5]print(first) # 1print(middle) # [2, 3, 4]print(last) # 5Rỗng OK
Phần tiêu đề “Rỗng OK”a, *b = [1]print(a) # 1print(b) # [] ✅ Empty listFunction arguments
Phần tiêu đề “Function arguments”def func(a, *args, b): print(a, args, b)
func(1, 2, 3, b=4)# Output: 1 (2, 3) 4Tóm tắt
Phần tiêu đề “Tóm tắt”Extended unpacking:
*varbắt nhiều values thành list- ✅ Chỉ 1
*per unpacking- ✅
*có thể ở đầu, giữa, cuối
Pattern:
first, *rest = values*init, last = valuesfirst, *middle, last = values