python 的zip函数的用法

目录

简介

示例

例子1

例子2

例子3


简介

zip在英语里的意思是拉链。想象两个列表(或任何可迭代的容器),a和b。两者各自有若干元素。zip的输入变量就是两个可迭代的容器,zip的返回值也是一个容器,容器的每个元素都是一个二元元组(tuple)。如下所示:

图中的第1对,第2对.....对应zip返回值的第一个元素、第二个元素.....这个结构像是现实中的拉链一样,所以叫zip

 

zip具有如下性质:

zip的返回值含有的元素个数与较短的输入容器相等。

示例

例子1

可见,生成的容器里,每个元素都是一个tuple。且a与b含有的元素类型不必相同(a的元素是数字,b的是字符)。

例子2

在这个例子里,a与b的元素个数不再相同。a有三个元素1,2,3;b只有两个元素'q','w'

可见,当其中较短的容器(这里,b只有两个元素,所以比a短)迭代到底后,zip就不再继续。所以zip返回值只含有两个元组。故zip的返回值含有的元素个数与较短的输入容器相等。

例子3

这个例子来自OpenAI联合创始人Andrej Karpathy的人工智能教程The spelled-out intro to language modeling: building makemore

w[1:]也是一个列表,它排除了w的第一个元素(准确的说,是第0个元素)1,留下2,3,4,5.故w[1:]只有4个元素,比w少一个。所以zip(w[1:],w)的返回值的元素个数是4.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值