网站首页 行业供求 行业产品 行业公司
行业资讯 行业网站 链接交换 网友收藏
行业供求 >> 信息展示:
郑州Python培训*** 迭代器知识有哪些详解
信息介绍:
  郑州Python培训***?迭代器知识有哪些详解?作为人工智能时代的**编程语言,Python凭借入门简单、功能强大的优势吸引了很多人加入学习。对于零基础或者想要快速提升技能的人来说,参加培训班是一个非常**的方式,接下来小编给大家分享郑州Python培训进阶课程中迭代器的知识。

  迭代是访问集合元素的一种方式,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的**个元素开始访问,直到所有的元素被访问完结束,迭代器只能往前不会后退。
  迭代是Python中最强有力的特性之一,可迭代对象包括两种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。
  可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。把list、dict、str等Iterable变成Iterator可以使用iter()函数,代码如下:
  from collections import Iterable
  a=[1,2,4,6,8,6,10]
  a=iter(a)
  print(next(a))
  print(next(a))
  print(next(a))
  如何判断是否可以迭代?你可以使用isinstance()判断一个对象是否是Iterable对象,代码如下:
  from collections import Iterable
  print(isinstance([], Iterable))
  print(isinstance({}, Iterable))
  print(isinstance('123',Iterable))
  print(isinstance((x for x in range(5)),Iterable))
  print(isinstance(100,Iterable))
  Python迭代器的经典用法
  1、并行迭代
  程序可以同时迭代两个序列。比如有下面两个列表:
  names = ['anne', 'beth', 'george', 'damon']
  ages = [12, 45, 32, 102]
  如果想要打印名字和对应的年龄,可以像下面这样做:
  In [7]: for i in range(len(names)):
  ...: print(names[i], 'is', ages[i], 'years old')
  ...:
  anne is 12 years old
  beth is 45 years old
  george is 32 years old
  damon is 102 years old
  这里i是循环索引的标准变量名。而内建的zip函数就可以用来进行并行迭代,可以把两个序列 “压缩” 在一起,然后返回一个元组的列表:
  >>> zip(names, ages)
  [('anne', 12), ('beth', 45), ('george', 32), ('damon', 102)]
  现在我可以在循环中解包元组:
  In [9]: for name, age in zip(names, ages):
  ...: print(name, 'is', age, 'years old')
  ...:
  anne is 12 years old
  beth is 45 years old
  george is 32 years old
  damon is 102 years old
  zip函数也可以作用于任意多的序列。关于它很重要的一点是zip可以处理不等长的序列,当最短的序列“用完”的时候就会停止:
  >>> zip(range(5), xrange(1000000000))
  [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
  在上面的代码中,不推荐用range替换xrange——尽管只需要要前5个数字,但range会计算所有的数字,这里要花费很长的时间。而使用xrange就没有这个问题,它只计算前5个数字。
  2、按索引迭代
  有些时间想要迭代访问序列中的对象,同时还有获取当前对象的索引。例如,在一个字符串列表中替换所有包含'xxx'的子字符串。实现的方法肯定有很多,假设你想象下面这样做:
  for string in strings:
  if 'xxx' in string:
  index = strings.index(string) # Search for the string in the list of strings
  strings[index] = '[censored]'
  如果不替换的话,搜索还会返回错误的索引(前面出现的同一个词的索引)。一个比较好的版本如下:
  index = 0
  for string in strings:
  if 'xxx' in string:
  strings[index] = '[censored]'
  index += 1
  另一种方法是使用内建的enumerate函数:
  for index, string in enumerate(strings):
  if 'xxx' in string:
  strings[index] = '[censored]'
  这个函数可以在提供索引的地方迭代索引-值对。
  3、翻转和排序迭代
  涉及两个有用的函数:reversed和sorted。它们同列表的reverse和sort(sorted和sort使用同样的参数)方法类似,但作用于任何序列或可迭代对象上,不是原地修改对象,而是返回翻转或排序后的版本:
  >>> sorted([4, 3, 6, 8, 3])
  [3, 3, 4, 6, 8]
  >>> sorted('Hello, world!')
  [' ', '!', ',', 'H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
  >>> list(reversed('Hello, world!'))
  ['!', 'd', 'l', 'r', 'o', 'w', ' ', ',', 'o', 'l', 'l', 'e', 'H']
  >>> ''.join(reversed('Hello, world!'))
  '!dlrow ,olleH'
  注意,虽然sorted方法返回列表,reversed方法却返回一个更加不可思议的可迭代对象。它们具体的含义不用过多关注,大可在for循环以及join方法中使用,而不会有任何问题。不过却不能直接对它使用索引、分片以及调用list方法,如果希望进行上述处理,那么可以使用list类型转换返回的对象。
  4、迭代器规则
  迭代的意思是重复做一些事很多次,就像在循环中做的那样。到现在为止只在for循环中对序列和字典进行过迭代,但实际上也能对其他对象进行迭代:只要改对象实现了__iter__方法。__iter__方法会返回一个迭代器(iterator),所谓的迭代器就是具有next方法(这个方法在调用时不需要任何参数)的对象。在调用next方法时,迭代器会返回它的下一个值。如果next方法被调用,但迭代器没有值可以返回,就会引发一个StopIteration异常。
  只要大家真正掌握了Python技术,胜任以上岗位就不是难题。如果你想快速学习Python技术,那就赶快加入到专业的学习吧。

信息明细:
名 称:郑州Python培训*** 迭代器知识有哪些详解
类 型: 供应
类 别: 教育考试 其他培训
地 区: 河南 郑州
用 户: forevee
日 期: 2019-08-26 15:28:29
发布IP: 117.159.15.221
参考图片:

联络方式:
0371-55191750

友情提示:
    信息由用户自行发布,采用请谨慎,我们鼓励您当面交易。如有不符合法规或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们。名站在线只为传递信息,我们不做任何双方证明,也不承担任何法律责任。 信息转载,请标明来源于www.fwol.cn ,谢谢。

其它相似链接:
灭鼠毒饵盒塑料模具水泥老鼠毒饵盒模 捕鼠饵料模盒
毒饵站模拟鼠喜爱的活动场所,吸引鼠前来取食毒饵,而且毒饵盒供应足够的毒饵,在鼠取食后予以自动补充。毒饵站通常用纸、塑料制成,纸质毒饵站则要作防水处理。毒饵站大优点是省饵和避免其他动物误食。同时,毒饵站也是灭鼠公司经常会运用到的物理灭鼠设备。

注塑水簸箕模具材质 雨水簸箕农田出水口基座
簸箕模具正在努力朝着技术更新与质量提高的产业方向前进,水簸箕模具是目前市场上应用比较广泛的产品

园林汀步石尺寸 青石汀步石材质 草坪汀步石模具
板式汀步主要用于旱地,如布置在草坪上、砂地上、泥地。墩式汀少步石成正方形或长方形的矮柱状,排列成直线形或按一定半径排列成规则的弧线形。这种汀步显得厚重、稳实,布置在浅水中作为过道荷叶汀步这种汀步一般用在庭园水池中,其步石面板形状为规则的圆形

园林汀步石尺寸 青石汀步石材欧式脚踏拼花公园大石头
自然山石汀步选顶面较平整的片状自然山石,宽度要在300-600mm之间,按照左右错落、自然曲折的方式,布置成汀步园路。

水泥墙砖瓦砖的预制 墙帽模具水泥院墙帽模具批发厂家
墙帽模具浇筑基础砼,在基础砼施工完成后及时对墙身处的砼凿毛,保证浇筑挡墙的墙身时新浇砼与已浇砼的连接。待基础砼达到设计强度的80%后方可进行墙身施工。


相关评论:
(欢迎网友发表评论,请注意网络文明)
(不支持 HTML 显示,请勿发HTML代码)
(评论需审核后才能显示)

本站推荐:
夹层锅|胶体磨
德阳市地方税务局
拉线棒_横担_扁铁抱箍-
重庆春兰空调维修、春兰中
经典励志语录_大发语录网
新疆日报-蒙古文版新闻_
Sculptra塑然雅
记事本软件下载|记事本软
老公是什么意思_老公的解
吉林加长型防水套管厂家_
香港包车到深圳机场价钱如
榆林桥架价格,宁夏桥架供
广州花艺公司 良友花店助
冰棺
志高苏州志高空调售后维修
华宝┣合肥华宝空调售后维
ABS RT-51德国巴
泉州浩兴标识有限公司
安溪县金华南实业有限公司
淮安品创仪表有限公司
长沙哪里有串串香学,80
雷蒙磨配件最容易磨损的都
6SC6506-4AA0
宴会桌椅摆放形式上海会展
赤铁矿石的选矿的技术有哪
四步走成功干洗加盟创业路
朝阳区国贸清掏化粪池公司
  蒲金鸣2月20券商冲

电脑版

Copyright 2005-2024 名站在线[fwol.cn]版权所有
经营许可证:粤ICP备17047754号