*args、**kwargs、zip
*号的用法
- 函数参数中的打包与解包
#使用 *args 将多个位置参数打包为元组。
def sum_numbers(*args):
return sum(args)
print(sum_numbers(1, 2, 3)) # 输出 6
#使用 * 将列表/元组解包为单个参数。
numbers = [1, 2, 3]
print(sum_numbers(*numbers)) # 输出 6
- 扩展的可迭代对象解包
a, *b, c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # [2, 3, 4]
print(c) # 5
**的用法
**kwargs 是一个用于函数参数的语法,表示关键字参数打包,作用是将传入的 关键字参数(key=value 形式)收集到一个字典(dict)中。
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
#将关键字进行打包
print_info(name="Alice", age=25, city="New York")
#将字典解包
def greet(name, message):
print(f"{message}, {name}!")
data = {"name": "Bob", "message": "Hello"}
greet(**data) # 等效于 greet(name="Bob", message="Hello")
zip的用法
zip() 用于将多个可迭代对象(如列表、元组等)的元素按位置配对,返回一个 zip 对象(迭代器)
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
zipped =list(zip(names, ages))
print(zipped)#[('Alice', 25), ('Bob', 30), ('Charlie', 35)]
dict_zip=dict(zipped)
print(dict_zip)#{'Alice': 25, 'Bob': 30, 'Charlie': 35}

浙公网安备 33010602011771号