基本的unpacking操作(参见第6条)有一项限制,就是必须提前确定需要拆解的序列的长度。
unpacking用法:通过带*的表达式;
特点:
1,带星号的表达式可以放在任何地方;
2,至少有一个普通变量进行搭配;
3,同一级中只能有一个带星号的表达式;
4,带星号的表达式生成结果是列表;(数据大时,需要考虑内存)
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# b, c = a
# print(b, c) # ValueError:too many values to unpack (expected 2)
b, c, *d = a
print(b, c, d) # 0 1 [2, 3, 4, 5, 6, 7, 8, 9]
b, *c, d = a
print(b, c, d) # 0 [1, 2, 3, 4, 5, 6, 7, 8] 9
*b, c, d = a
print(b, c, d) # [0, 1, 2, 3, 4, 5, 6, 7] 8 9
# *b, *c, d = a
# print(b, c, d) # SyntaxError:multiple starred expressions in assignment