python 解压序列赋值给多个变量

问题

现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量?

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# test_seq is sequence or iterable objects

# 通过等长个数的变量赋值, 即变量个数等于 len(test_seq)
var1, var2, var3, ... = test_seq

# 取 test 首尾
head, *_, tail = test_seq

# 取 test_seq 指定个数的前3个数
var1, var2, var3, *_ = test_seq

# 取 test_seq 指定个数的后3个数
*_, var1, var2, var3 = test_seq

注:
1. 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。
2. 变量的数量必须跟序列元素的数量是一样的。
3. *_ 会将剩余数据储存于一个列表中
-------------本文结束感谢您的阅读-------------