可以说,序列解包的本质就是把一个序列或可迭代对象中的元素同时赋值给多个变量,如果等号右侧含有表达式,会把所有表达式的值先计算出来,然后再进行赋值。...1, 2, 3])
#使用可迭代的map对象进行序列解包
>>> x, y, z = map(str, range(3))
#交换两个变量的值
>>> a, b = b, a
#sorted()函数返回排序后的列表...>>> x[:3] = map(str, range(5))
>>> x
['0', '1', '2', '3', '4', 4, 5, 6]
在上面的例子中,a, b = b, a是比较特殊的一个,...可以这样理解:先把变量a和b原来的值取出来组成一个元组,然后再把这个元组序列解包赋值给变量a和b。...这个语句的执行过程是这样的:假设现在a=3和b=5,那么先使用这两个变量原来的值计算等号右侧的元组得到(5, 3+5)也就是(5, 8),然后序列解包赋值给变量a和b,结果是a = 5和b = 8。