Bỏ qua để đến nội dung

Extended unpacking - a, *b, c = [1,2,3,4,5]

# Bắt "phần còn lại" với *
a, *b, c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # [2, 3, 4] ✅ List!
print(c) # 5
first, *rest = [1, 2, 3, 4]
print(first) # 1
print(rest) # [2, 3, 4]
*init, last = [1, 2, 3, 4]
print(init) # [1, 2, 3]
print(last) # 4
first, *middle, last = [1, 2, 3, 4, 5]
print(first) # 1
print(middle) # [2, 3, 4]
print(last) # 5
a, *b = [1]
print(a) # 1
print(b) # [] ✅ Empty list
def func(a, *args, b):
print(a, args, b)
func(1, 2, 3, b=4)
# Output: 1 (2, 3) 4

Extended unpacking:

  • *var bắt nhiều values thành list
  • ✅ Chỉ 1 * per unpacking
  • * có thể ở đầu, giữa, cuối

Pattern:

first, *rest = values
*init, last = values
first, *middle, last = values