1326

7 分钟

#Python 的解包操作

解包操作(Unpacking)允许我们将一个可迭代对象(如列表、元组、字典等)中的元素提取到多个变量中。

#序列解包

最常见的解包是从元组或列表中提取元素。例如:

student_info:tuple[str, int, str] = ("Yukari", 17, "female") name, age, sex = student_info print(name, age, sex)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#部分解包

可以在序列解包中使用下划线(_)忽略不需要的元素。例如:

students:list[str] = ["Tom", "Jerry", "Spike", "Tuffy"] first, _, _, last = students print(first, last)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#使用星号

使用星号(*)可以将元组、数组或集合拆分成独立的元素。例如

students:list[str] = ["Tom", "Jerry", "Spike", "Tuffy", "Tyke", "Butch"] warp1 = [students] warp2 = [*students] print(warp1) print(warp2)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

可以在序列解包中使用星号(*)获取多个元素。例如:

students:list[str] = ["Tom", "Jerry", "Spike", "Tuffy", "Tyke", "Butch"] first, *_, last = students # _ 是数组,获取多个元素 print(first, last)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#键值对解包

通过 items 方法可以获得字典的键值对集合,可以对单个字典的键值对进行解包。

score_list:dict[str,int] = { 'Tom': 88, 'Jerry': 99, 'Spike': 66 } # 解包单个键值对 name, score = list(score_list.items())[0] print(name, score) # 通过键值对解包简化 for 循环 for key,value in score_list.items(): print(key, value)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#使用星号解包字典

使用两个星号(*)可以将字典拆分成独立的键值对。例如:

score_list:dict[str,int] = { 'Tom': 88, 'Jerry': 99, 'Spike': 66 } warp = {**score_list} print(warp)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

创建于 2025/4/10

更新于 2025/5/21