zip()
映射是可以逆操作的,也就是解压,下面介绍几种解压元组集合的方法。
当数据被多次处理后,就无法将可迭代对象组成的元组完全解压了。根据具体情况,可能需要将可迭代对象实例化,以提取需要的数据。
之前讲过第一种方法了:使用生成器函数解压元组序列。例如,假设下面的pairs是由二元组组成的序列:
p0 = (x[0] for x in pairs)
p1 = (x[1] for x in pairs)
这样就可以得到两个序列:p0
序列由二元组序列的第一个元组组成,p1
序列由二元组序列的第二个元素组成。
某些情况下,需要使用for
循环提供的多重赋值方法来拆解元组,例如计算乘积之和的方法如下:
sum(p0 * p1 for for p0, p1 in pairs)
这里用for
语句把每个二元组拆解到了p0
和p1
中。