在Python中,星号变量(*)有着多种特殊的用法,可以帮助我们更加灵活地处理数据和函数参数。本文将深入探讨Python中星号变量的几种特殊用法,包括解包、可变参数、拼接和拆分等
data = [1, 2, 3, 4, 5]
first, *middle, last = data
print(first) # 1
print(middle) # [2, 3, 4]
print(last) # 5
在这个例子中,星号变量*middle将列表data中除了第一个和最后一个元素之外的所有元素都赋值给了middle变量。
def sum(*args):
total = 0
for num in args:
total += num
return total
result = sum(1, 2, 3, 4, 5)
print(result) # 15
在这个例子中,args是一个元组,其中包含了函数调用时传入的所有参数。
# 拼接
list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = [*list1, *list2]
print(merged_list) # [1, 2, 3, 4, 5, 6]
# 拆分
data = [1, 2, 3, 4, 5]
first, *rest = data
print(first) # 1
print(rest) # [2, 3, 4, 5]
在拼接操作中,星号变量可以将多个列表中的元素合并为一个新的列表;在拆分操作中,星号变量可以将一个列表的第一个元素和剩余元素分开赋值给不同的变量。