文章目录
1.zip函数的概念
zip()函数是Python中的内置函数之一,其功能很强大,它可以将多个序列(列表、元组、字典、集合、字符串以及range()整数序列构成的列表)压缩成一个zip对象,所谓的压缩就是将传入的多个序列中索引相同的元素进行重组,从而生成一个新的元组。
zip()函数传入的参数必须是一个可迭代的对象,所谓的可迭代对象就是能够遍历的对象,也就说zip函数传入的参数必须是列表、字符串、元组等等。
简而言之,zip()函数可以将传入的多个列表、多个元组、多个字符串压缩成一个zip对象,也就是形成一个新的元组。
zip函数压缩序列的概念图如下,zip函数根据传入的一个或多个序列,对其进行压缩,将序列中索引相同的元素压缩重组成一个新的元组,如果只传入一个序列,那么序列中有多少个元素则会重组多少个元组,且每个元组中只有一个元素。下图中传入了3个序列,且序列中的元素个数都是相同的,因此最终会被重组成3个元组且每个元组都有3个元素。
zip函数对序列压缩时,永远都是从前往后读序列进行压缩,当第一个序列的元素被压缩重组完后,即使第二个序列中还有元素没有被重组,此时也不会进行压缩重组过程了。也就是说传入多个序列,最终会被压缩成多少个元组,取决于第一个序列中有多少个元素,因为zip函数的特点就是将序列中相同索