迭代器

 迭代:

 1 重复
 2 下一次重复是基于上一次的结果

# while True:
# cmd=input('>>: ')
# print(cmd)

# l=['a','b','c','d']
# count=0
# while count < len(l):
# print(l[count])
# count+=1

#
# l=['a','b','c','d']
# for count in range(len(l)):
# print(l[count])

# d={'a':1,'b':2,'c':3}
#
# for k in d:
# print(k)

'''
python为了提供一种不依赖于索引的迭代方式,
python会为一些对象内置__iter__方法
obj.__iter__称为可迭代的对象
'''
# s1='hello'
# l=[1,2,3]
# t=(1,2,3)
# set1={1,2,3}
# d={'a':1,'b':2,'c':3}
#
# f=open('db.txt',encoding='utf-8')

obj.__iter__() 得到的结果就是迭代器

得到的迭代器:既有__iter__又有一个__next__方法
# d={'a':1,'b':2,'c':3}
#
# i=d.__iter__() #i叫迭代器
# print(i)
# print(i.__next__())
# print(i.__next__())
# print(i.__next__())
# print(i.__next__()) #StopIteration

l=['x','y','z']
# print(l[2])
# print(l[0])

# i=l.__iter__()
# print(i.__next__())
# print(i.__next__())
# print(i.__next__())

迭代器的优点
1:提供了一种不依赖于索引的取值方式
2:惰性计算。节省内存

迭代器的缺点:
1:取值不如按照索引取值方便
2:一次性的。只能往后走不能往前退
3:无法获取长度

 

#
# for item in l: #i=l.__iter__()
# print(item)

for item in 1:
print(item)
迭代器

转载于:https://www.cnblogs.com/bsxq/p/7018011.html

Python开发基础 day7 迭代器相关推荐

  1. python开发基础戴歆第四章_第一阶段:Python开发基础 day04 课后练习

    第一阶段:Python开发基础 day04 课后作业 1.简述python的五大数据类型的作用.定义方式.使用方法 数字类型 字符串类型 列表 字典 布尔型 答:数字类型分为整型(int)和浮点型(f ...

  2. c语言 dict数据类型,Python开发基础之Python常用的数据类型

    Python开发基础之Python常用的数据类型 发布时间:2020-08-02 20:07:19 来源:51CTO 阅读:348 作者:warrent 博文大纲 一.Python介绍 二.Pytho ...

  3. dockerfile拉取私库镜像_还在用Alpine作为你Docker的Python开发基础镜像?其实Ubuntu更好一点...

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_173 一般情况下,当你想为你的Python开发环境选择一个基础镜像时,大多数人都会选择Alpine,为什么?因为它太小了,仅仅只有 ...

  4. Python开发基础----异常处理、socket套接字基础1

    异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...

  5. python开发基础04-函数、递归、匿名函数、高阶函数、装饰器

    匿名函数 lamba lambda x,y,z=1:x+y+z 匿名就是没有名字 def func(x,y,z=1):return x+y+z匿名 lambda x,y,z=1:x+y+z #与函数有 ...

  6. Python开发基础总结之模块+日志+自省

    一.模块的使用 1.    如果不想将模块的某些函数和变量被别的模块使用,可以以单下划线开头.这样import 是没有的,但是使用import mode,然后mode.fun仍然可以调用.在class ...

  7. Python开发基础总结之函数+闭包+字典+列表

    一.函数的使用: 1.函数的作用域:函数中定义一个变量,如果和全局变量重名,则全局变量名称就会被覆盖,也就是,这里对这个变量的更改,不会更改全局变量.但是,如果直接使用的话,是会使用全局变量的.同时, ...

  8. python开发基础教程

    第一:python基础 第二:python异常处理类 第三:python装饰器  python常用的装饰器 第四:python发送邮件 转载于:https://www.cnblogs.com/feng ...

  9. Python开发基础--- 进程间通信、进程池、协程

    进程间通信 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的. 进程队列queue 不同于线程queue,进程 ...

最新文章

  1. NLP 的EDA数据增强技术
  2. python正则re
  3. ES6 let与const基础用法笔记
  4. 休闲食品行业如何数字化升级,腾讯云和卫龙辣条一起打了个样
  5. Visual Studio引入外部库 ---- 弄懂静态库lib和动态库dll
  6. BroadcastReceiver之动态广播 demo+笔记
  7. 【ElasticSearch】Es 源码之 SearchTransportService 源码解读
  8. UNIX网络编程第三版
  9. 如何与亦敌亦友的 null 说拜拜?大神原来是这么做的!
  10. PackageInstaller 5.0源码分析静默安装与静默卸载
  11. 前端秘籍,CSS垂直居中必学八式,一招一式尽显功力
  12. 【YOLO】目标检测第三步——用Pascal voc 2012 数据集训练YOLO网络
  13. 基于Curator的Zookeeper操作实战
  14. 如何在Word中制作三线表
  15. 人工智能之经典逻辑推理
  16. 快速入门JavaScript(一)
  17. TRS全文检索开发文档及API,工具包
  18. Java(三)对象类型的转换和多态机制
  19. 2019 年第 7 周 DApp 影响力排行榜 | TokenInsight
  20. 关于AES:加密方式,让你的APK无懈可击(1),死磕原理

热门文章

  1. java请求转发实例_Servlet请求转发的步骤和实例
  2. SpringBoot使用AOP,PointCut表达式详解以及使用
  3. mybatis plus使用in查询
  4. linux下安装minio
  5. python 安装pyautogui图形自动化
  6. java使用bks双向认证_客户端与服务器SSL双向认证(客户端:Android
  7. 内核管理 之 内核管理概述
  8. python is 与 == 的区别
  9. 从 1 到完美,用 node 写一个命令行工具
  10. 函数式编程了解一下(上)