当前位置: 首页 > news >正文

网站扁平化结构和树形结构wordpress搜索插件提前

网站扁平化结构和树形结构,wordpress搜索插件提前,公司网站建设具体实施方案,广州装修公司排名前言: 最近在leetcode刷题时用到了重叠对pairwise,这里就讲解一下迭代工具函数pairwise,既介绍给大家,同时也提醒一下自己,这个pairwise其实在刷题中十分有用,相信能帮助到你。 参考官方讲解:itertools --- 为高效循…

前言:

最近在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:yield a, ba = b

说明:

iter函数:用iter(object)来生成迭代器,object是指一个支持迭代的对象,第二个参数是每次元素要调用的函数,如果只是想将元素转化为可迭代的,那么可以不传入第二个参数

next函数:用next( iterable , None )从迭代中获取下一个元素,如果迭代器中没有更多的元素他会引发None,当然这个None也可以是其他响应。同时和for函数类似,只不过,next更适合于更细粒度的控制,或者处理复杂的数据结构。值得一提的是next访问同一个对象是会从上一次访问的末尾开始如果是第一次则从开头开始访问。

it = iter(['A','B','C'])
print(next(it, '没有更多元素')) # 输出 A
print(next(it, '没有更多元素')) # 输出 B
print(next(it, '没有更多元素')) # 输出 C
print(next(it, '没有更多元素')) # 输出 '没有更多元素'

yield函数 :把yield理解成return,区别在于前者返回一个可迭代的生成器对象,你可以使用for循环或者用next()方法遍历生成器来提取结果,return则是直接返回所有结果,程序终止不在运行,并且销毁局部变量。

def fun():x = 2y = 6while x < y:yield xx += 1example = fun()
# example 是一个可迭代的生成器<generator object fun at 0x0000025C491D1C00>
next(example,'No result!')
next(example,'No result!')
next(example,'No result!')
next(example,'No result!')
next(example,'No result!')
next(example,'No result!')
next(example,'No result!')
#结果:
#2
#3
#4
#5
#Nor result !

1.3运用:

运用1:

传送门:

题型属于分组循环,分组循环可以用for或者while 实现,题解参考灵神: 

class Solution:def longestContinuousSubstring(self, s: str) -> int:ans = cnt = 1for x, y in pairwise(map(ord, s)):cnt = cnt + 1 if x + 1 == y else 1ans = max(ans, cnt)return ans

用一个map创建一个可迭代的对象,并且每一个对象都用ord处理,这样写不仅更加简洁

而如果每一次都比较一下Unicode码显然不是那么方便,当然也可以做

class Solution:def longestContinuousSubstring(self, s: str) -> int:i,n = 0, len(s)ans = 0while i < n:start = ii += 1while i < n and ord(s[i])-1 == ord(s[i-1]):i += 1ans = max(ans, i - start)return ans 

运用2: 

传送门:

这也是分组循环里面典型的例题:,利用冒泡的思想直接排序

class Solution:def canSortArray(self, nums: List[int]) -> bool:n = len(nums)i = 0while i < n:start = iones = nums[i].bit_count()i += 1while i < n and nums[i].bit_count() == ones:i += 1nums[start:i] = sorted(nums[start:i])return all(x <= y for x, y in pairwise(nums))

今天的介绍到此为止,谢谢大家的观看!

http://www.yayakq.cn/news/850053/

相关文章:

  • 优秀的定制网站建设服务商壶关网站建设
  • 电脑网站打不开怎么解决刷网站关键词排名原理
  • 网站内容怎么修改南昌新建网站建设
  • o2o网站建设要多少钱旅游网站建设的技术方案
  • 做业务的网站企业型网站价目表
  • 怎么样做国外推广网站ui设计主要用的软件
  • 天津做网站制作活动策划书模板范文
  • 潍坊的网站建设网页制作素材图片美食
  • 建设网站那家公司好上住房和城乡建设部网站
  • 龙华做手机网站建设深圳网站设计深圳网站建设
  • 慈溪市网站建设网站建设有那些内容
  • 网站策划方案详解如何扒wordpress的模板
  • wordpress主题教程视频济南新网站优化
  • 备案期间怎么关闭网站中国装修公司排行榜
  • 天水市建设局网站怎么创造一个网站
  • 公司网站怎么突然多了好多友情链接如何删除宁波网络公司设计装修
  • 个人网站酷站赏析图片海报制作软件
  • 网站返回500错误平面设计师招聘广告文案
  • 网站备案到期学校网站的系统建设方式
  • 网站建设代理公司网站定制建设
  • 企业网站必须实名认证wordpress自动评论seo工具
  • 专业做网站建情感导师在线咨询服务
  • 专门卖电子产品的网站做经营性的网站备案条件
  • 网站建设规划书实训报告路桥建设局网站
  • 做淘宝客网站需要什么要求网站整合discuz论坛
  • 巴中哪里可以做公司网站百度刷排名优化软件
  • 高唐做网站推广响应式网站建设视频教程
  • 泉州设计网站wordpress 拒绝访问
  • 网站每天1万ip能收入多少超级网站模板下载
  • 成功英语网站wordpress scripts gzip