原文: https://howtodoinjava.com/python/unpack-variable-length-tuple/

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

1.解包任意长度的元组

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

  1. >>> employee = ('Lokesh', 'email@example.com', '111-222-333', '444-555-666')
  2. >>> name, email, *phone_numbers = employee
  3. >>> name
  4. 'Lokesh'
  5. >>> email
  6. 'email@example.com'
  7. >>> phone_numbers
  8. ['111-222-333', '444-555-666']
  1. >>> *elements, end = [1,2,3,4,5,6,7,8]
  2. >>> elements
  3. [1,2,3,4,5,6,7]
  4. >>> end
  5. 8

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

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

  1. >>> record = ('Lokesh', 37, 72.45, (1, 1, 1981))
  2. >>> name, *_, (*_, year) = record #Only read name and year
  3. >>> name
  4. 'Lokesh'
  5. >>> year
  6. 1981

学习愉快!