Python 学习笔记(十二)Python文件和迭代(二)
程序员文章站
2022-09-26 13:10:36
迭代 基本含义 迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。 在计算科学中,迭代是程序中对一组指令(或一定步骤)的重复。它既可以被用作通用的术语(与“重复”同义),也可以用来描述一种 ......
迭代
基本含义
迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
在计算科学中,迭代是程序中对一组指令(或一定步骤)的重复。它既可以被用作通用的术语(与“重复”同义),也可以用来描述一种特定形式的具有可变状态的重复。
操作
1 >>> lst =[1,2,3,4] 2 >>> for i in lst: #for 循环读取列表中的每一个元素 3 ... print i 4 ... 5 1 6 2 7 3 8 4 9 >>> lit =iter(lst) #创建迭代器对象 10 >>> type(lit) #列表迭代器 11 <type 'listiterator'> 12 >>> dir(lit) #查看列表迭代器的方法 ,next() 13 ['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__length_hint__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'next'] 14 >>> lit.next() 列表元素中的第一个元素 15 1 16 >>> lit.next() 列表元素中的第二个元素 17 2 18 >>> lit.next() 19 3 20 >>> lit.next() 21 4 22 >>> lit.next() 23 Traceback (most recent call last): 24 File "<stdin>", line 1, in <module> 25 StopIteration 26 >>> lit =iter(lst)
#这个for循环与前面list for循环,从结果看是一样的。实际上,运行过程上是有区别的。
类似文件,读取大数据的时候,用for循环完成对迭代器对象中每个元素读取的过程,可体现出迭代器的优势。
因为是把所要读取的元素一个一个拿到内存,而不是一下全部放到内存
27 >>> for i in lit: 28 ... print i 29 ... 30 1 31 2 32 3 33 4 34 >>> help(iter) 35 Help on built-in function iter in module __builtin__: 36 #返回值是一个迭代对象
#参数必须是符合迭代协议的对象,或者是序列对象 37 iter(...) 38 iter(collection) -> iterator 39 iter(callable, sentinel) -> iterator 40 41 Get an iterator from an object. In the first form, the argument must 42 supply its own iterator, or be a sequence. 43 In the second form, the callable is called until it returns the sentinel. 44 45 >>>
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器
迭代器对象可以使用常规for语句进行遍历
也可以使用 next() 函数
上一篇: python字符串函数
下一篇: 解决vue打包项目后刷新404的问题
推荐阅读
-
Python两个内置函数 locals 和globals(学习笔记)
-
Python两个内置函数 locals 和globals(学习笔记)
-
Python面向对象编程中关于类和方法的学习笔记
-
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
-
Python面向对象编程中关于类和方法的学习笔记
-
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
-
Python中Random和Math模块学习笔记
-
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
-
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
-
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)