python:zip()与zip(*)区别和联系

一.zip()函数

形式:zip([iterable, …]),参数iterable为可迭代的对象,并且可以有多个参数。
功能:对参数完成压缩功能,将每个参数的对应元素压缩成一个元组。
返回值:一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度为最短的参数序列的长度。只有一个序列参数时,返回一个1元组的列表;没有参数时,返回一个空的列表。
注:不管参数的形式如何,返回值是以元组为元素的列表。
python:zip()与zip(*)区别和联系

二.zip(*)函数

形式:zip(*[iterable]) ,参数iterable为可迭代的对象。
功能:用来解压一个对象。
返回值:返回元组组成的列表。
python:zip()与zip(*)区别和联系

三.区别与联系

功能上,zip()用于压缩,zip(*)用于解压;
参数上,zip()可传入多个参数,将不同参数按元素进行压缩;zip(*)只能传入一个参数,将其按元素解压得到若干个元组构成的列表;
返回值,一般都是元组构成的列表。
数据处理时,通常对多个特征的数据进行压缩,得到的列表中,一个元组代表一个样本在每个特征上的表现。