python-day17--迭代器
1.迭代:
迭代就是一个一个一个挨着的取值
2.可迭代类型: str ,列表,元组,集合,字典
3.判断迭代器和可迭代的方法
#第一种:判断内部是不是实现了 __next__
#'__next__' in dir(o)
#第二种:
# from collections import Iterable  #可迭代
# from collections import Iterator  #迭代器
# isinstance(o,Iterable)
# isinstance(o,Iterator)
from collections import Iterable
from collections import Iterator
map_o = [1,2,3,4]
print(isinstance(map_o,Iterable))
print(isinstance(map_o,Iterator))
4.
#可迭代协议  :  内部实现了__iter__方法
#迭代器协议  :  内部实现了__iter__ __next__方法
#可迭代和迭代器的相同点 : 都可以用for循环
通过iter()得到的结果就是一个迭代器,
5.   迭代器的特点
#可以用for循环
#可以节省内存
#你只能用一次  (用一次它就动一下)
6.    l = [1,2,3,4,5]
  l_iterator = iter(l)
   while True:
     try:
       print(next(l_iterator))
     except StopIteration:
       break
python-day17--迭代器的更多相关文章
- python基础——迭代器
		python基础——迭代器 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器 ... 
- python基础—迭代器、生成器
		python基础-迭代器.生成器 1 迭代器定义 迭代的意思是重复做一些事很多次,就像在循环中做的那样. 只要该对象可以实现__iter__方法,就可以进行迭代. 迭代对象调用__iter__方法会返 ... 
- python之迭代器与生成器
		python之迭代器与生成器 可迭代 假如现在有一个列表,有一个int类型的12345.我们循环输出. list=[1,2,3,4,5] for i in list: print(i) for i i ... 
- Python:迭代器的简单理解
		一.什么是迭代器 迭代,顾名思义就是重复做一些事很多次(就现在循环中做的那样).迭代器是实现了__next__()方法的对象(这个方法在调用时不需要任何参数),它是访问可迭代序列的一种方式,通常其从序 ... 
- 第十六篇 Python之迭代器与生成器
		一.迭代器 一. 递归和迭代 生活实例说明什么是递归和迭代 A想去腾达大厦,问B怎么走路,B 说我不知道,我给你问问C,C也不知道,C又去问D,D知道,把路告诉了C,C又告诉B,B最后告诉A, 这就是 ... 
- python——iterator迭代器|iterator详解——20140918|
		-----------------------------------------------------------------------------前言--------------------- ... 
- 搞清楚 Python 的迭代器、可迭代对象、生成器
		很多伙伴对 Python 的迭代器.可迭代对象.生成器这几个概念有点搞不清楚,我来说说我的理解,希望对需要的朋友有所帮助. 1 迭代器协议 迭代器协议是核心,搞懂了这个,上面的几个概念也就很好理解了. ... 
- python函数-迭代器&生成器
		python函数-迭代器&生成器 一.迭代器 1 可迭代协议 迭代:就是类似for循环,将某个数据集内的数据可以“一个挨着一个取出来” 可迭代协议: ① 协议内容:内部实现__iter__方法 ... 
- Python之迭代器和生成器(Day17)
		一.可迭代对象(iterable) 刚才说过,很多容器都是可迭代对象,此外还有更多的对象同样也是可迭代对象,比如处于打开状态的files,sockets等等.但凡是可以返回一个迭代器的对象都可称之为可 ... 
- Python学习day17 迭代器&生成器
		迭代器&生成器 1. 迭代器 1.1 迭代器 迭代:迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代" 迭代器:帮助对某种对象 ... 
随机推荐
- ES6之前模拟Map数据结构的写法
			在ES6之前JavaScript 里面本身没有map对象,但是用JavaScript的Array.Object来模拟实现Map的数据结构. 现在已经有Map对象了,这里记录一下之前的写法 Array方 ... 
- selinux配置错误实例介绍
			错误原因 配置关闭SELinux,结果误操作 应修改配置文件/etc/selinux/config中的“SELINUX”参数的值, # SELINUX=enforcing 原始配置 SELINUX= ... 
- Spring Boot 踩坑之路之 Configuration Annotation Proessor not found in classpath
			1. 出现spring boot Configuration Annotation Proessor not found in classpath的提示是在用了@ConfigurationProper ... 
- Python入门之面向对象编程(一)面向对象概念及优点
			概念 谈到面向对象,很多程序员会抛出三个词:封装.继承和多态:或者说抽象.一切都是对象之类的话,然而这会让初学者更加疑惑.下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个 ... 
- Ruby基础教程
			一.Ruby基础知识 1.关于Ruby Ruby是脚本语言 Ruby是面向对象语言 Ruby是跨平台语言 Ruby是开放源码软件 2.Ruby入门书籍推荐 <Ruby.Programming向R ... 
- Python3基础 if嵌套示例
			Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ... 
- RabbitMQ延时任务
			概念: 消息的TTL(Time To Live)消息的TTL就是消息的存活时间.RabbitMQ可以对队列和消息分别设置TTL.对队列设置就是队列没有消费者连着的保留时间,也可以对每一个单独的消息做单 ... 
- HDU 4135 Co-prime(容斥:二进制解法)题解
			题意:给出[a,b]区间内与n互质的个数 思路:如果n比较小,我们可以用欧拉函数解决,但是n有1e9.要求区间内互质,我们可以先求前缀内互质个数,即[1,b]内与n互质,求互质,可以转化为求不互质,也 ... 
- HDU1251 统计难题 (字典树模板)题解
			思路:模板题,贴个模板 代码: #include<cstdio> #include<cstring> #include<cstdlib> #include<q ... 
- Java名称由来
			2000年度的JavaOne国际会议大厅热闹非凡,一阵阵浓郁的咖啡味儿香气扑鼻.从世界各地汇集到旧金山参加会议的Java精英们兴奋异常,排着长队,等待得到一杯由Java语言控制的咖 ... 
