Python开发基础 day7 迭代器
迭代器
迭代:
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 迭代器相关推荐
- python开发基础戴歆第四章_第一阶段:Python开发基础 day04 课后练习
第一阶段:Python开发基础 day04 课后作业 1.简述python的五大数据类型的作用.定义方式.使用方法 数字类型 字符串类型 列表 字典 布尔型 答:数字类型分为整型(int)和浮点型(f ...
- c语言 dict数据类型,Python开发基础之Python常用的数据类型
Python开发基础之Python常用的数据类型 发布时间:2020-08-02 20:07:19 来源:51CTO 阅读:348 作者:warrent 博文大纲 一.Python介绍 二.Pytho ...
- dockerfile拉取私库镜像_还在用Alpine作为你Docker的Python开发基础镜像?其实Ubuntu更好一点...
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_173 一般情况下,当你想为你的Python开发环境选择一个基础镜像时,大多数人都会选择Alpine,为什么?因为它太小了,仅仅只有 ...
- Python开发基础----异常处理、socket套接字基础1
异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...
- 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 #与函数有 ...
- Python开发基础总结之模块+日志+自省
一.模块的使用 1. 如果不想将模块的某些函数和变量被别的模块使用,可以以单下划线开头.这样import 是没有的,但是使用import mode,然后mode.fun仍然可以调用.在class ...
- Python开发基础总结之函数+闭包+字典+列表
一.函数的使用: 1.函数的作用域:函数中定义一个变量,如果和全局变量重名,则全局变量名称就会被覆盖,也就是,这里对这个变量的更改,不会更改全局变量.但是,如果直接使用的话,是会使用全局变量的.同时, ...
- python开发基础教程
第一:python基础 第二:python异常处理类 第三:python装饰器 python常用的装饰器 第四:python发送邮件 转载于:https://www.cnblogs.com/feng ...
- Python开发基础--- 进程间通信、进程池、协程
进程间通信 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的. 进程队列queue 不同于线程queue,进程 ...
最新文章
- NLP 的EDA数据增强技术
- python正则re
- ES6 let与const基础用法笔记
- 休闲食品行业如何数字化升级,腾讯云和卫龙辣条一起打了个样
- Visual Studio引入外部库 ---- 弄懂静态库lib和动态库dll
- BroadcastReceiver之动态广播 demo+笔记
- 【ElasticSearch】Es 源码之 SearchTransportService 源码解读
- UNIX网络编程第三版
- 如何与亦敌亦友的 null 说拜拜?大神原来是这么做的!
- PackageInstaller 5.0源码分析静默安装与静默卸载
- 前端秘籍,CSS垂直居中必学八式,一招一式尽显功力
- 【YOLO】目标检测第三步——用Pascal voc 2012 数据集训练YOLO网络
- 基于Curator的Zookeeper操作实战
- 如何在Word中制作三线表
- 人工智能之经典逻辑推理
- 快速入门JavaScript(一)
- TRS全文检索开发文档及API,工具包
- Java(三)对象类型的转换和多态机制
- 2019 年第 7 周 DApp 影响力排行榜 | TokenInsight
- 关于AES:加密方式,让你的APK无懈可击(1),死磕原理