Skip to main content

解包

Python 里的 *** 解包用法简介:

1. 列表(元组)解包:*

lst = [1, 2, 3]
a, b, c = lst # a=1, b=2, c=3

# *用于参数收集
def foo(a, b, c):
print(a, b, c)

foo(*lst) # 等价于 foo(1, 2, 3)

2. 字典解包:**

d = {'x': 10, 'y': 20}

def bar(x, y):
print(x + y)

bar(**d) # 等价于 bar(x=10, y=20)

3. 变量收集

a, *b, c = [1, 2, 3, 4, 5]
# a=1, b=[2,3,4], c=5

4. 合并/拆解容器

lst1 = [1, 2]
lst2 = [3, 4]
merged = [*lst1, *lst2] # [1, 2, 3, 4]

dict1 = {'a': 1}
dict2 = {'b': 2}
merged_dict = {**dict1, **dict2} # {'a': 1, 'b': 2}

总结

  • *序列解包(列表/元组)
  • **字典解包
    常用于函数参数传递、容器合并等场景。