Python - itertools- pairwise函数的详解

前言:

最近在leetcode刷题时用到了重叠对pairwise,这里就讲解一下迭代工具函数pairwise,既介绍给大家,同时也提醒一下自己,这个pairwise其实在刷题中十分有用,相信能帮助到你。

参考官方讲解:itertools --- 为高效循环创建迭代器的函数 — Python 3.13.1 文档

1.1基本用法:

itertools.pairwise(iterable)返回从iterable中获取的连续的重叠对,(同时这个只有Python3.1才支持),同时输出的迭代器二元组的数量将比输入的数量少一个;如果输入的可迭代对象少于两个值,那么它将为空:

举个例子:pairwise('ABCDEFGH')  ——> AB  BC CD DE EF FG GH

                  pairwise('A') ——> None

所以在运用时要保证适用对象不少于两个元素,否者就没有意义。

同时pairwise 的对象时可迭代的,那么许多迭代器都可以用在里面,比用用map封装一个迭代器,同时还可以实现map所指定的函数,这个衍生用法在后面会详细讲解到

1.2内在逻辑:

在了解了用法之后,我们也可以更深入的了解pairwise的实现逻辑:

def pairwise(iterable):

    iterator = iter(iterable)
    a = next(iterator, None)

    for b in iterator:
        y
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值