Python 解包元组 – 太多值无法解包

Python 示例,用于解包元组或序列或可迭代,以便该元组可能长于 N 个元素,从而导致“值太多,无法解包”异常。

1.解包任意长度的元组

Python“星表达式”可用于解包任意长度的元组。

>>> employee = ('Lokesh', 'email@example.com', '111-222-333', '444-555-666')

>>> name, email, *phone_numbers = employee

>>> name
'Lokesh'
>>> email
'email@example.com'
>>> phone_numbers
['111-222-333', '444-555-666']

>>> *elements, end = [1,2,3,4,5,6,7,8]

>>> elements
[1,2,3,4,5,6,7]

>>> end
8

2.解包元组并丢弃不需要的值

有时,您可能想拆开值并将其丢弃。 解包时,您不仅可以指定裸露的*,还可以使用通用的一次性变量名,例如“_”或忽略。

>>> record = ('Lokesh', 37, 72.45, (1, 1, 1981))

>>> name, *_, (*_, year) = record	#Only read name and year

>>> name
'Lokesh'

>>> year
1981