一、看一些简单的例子:
只要赋值运算符左边的变量数目与序列中的元素数目相等,你都可以用这种方法将元素序列解包到另一组变量中。这种方法并不限于列表和元组,而是适用于任意序列类型(甚至包括字符串和字节序列)
注:利用 * 表达式获取单个变量中的多个元素,只要它的解释没有歧义即可。* 获取的值默认为 list
my_str='ABCDEFG'
# 方法一
while my_str:
a,my_str=my_str[0],list(my_str[1:])
print(a,my_str)
# 方法二
while my_str:
a,*my_str=my_str
print(a,my_str)
# 打印结果
A ['B', 'C', 'D', 'E', 'F', 'G']
B ['C', 'D', 'E', 'F', 'G']
C ['D', 'E', 'F', 'G']
D ['E', 'F', 'G']
E ['F', 'G']
F ['G']
G []
方法一:
1.将切片中索引为0的字符赋值给a
2.将切片中索引为1之后的字符再赋值给my_str
3.用list函数将字符串转变为列表
4.用while循环来判断,my_str为空,则退出循环
方法二:
利用序列解包更简单些
二、参数解包
注意:字典的解包操作 **