当前位置: > python教程 > python高级教程 >

python迭代器的表示及用法
栏目分类:python高级教程   发布日期:2019年04月19日 16:32:39   浏览次数:

什么是迭代呢?迭代指的是按照某种顺序逐个访问对象中的每一项,所以,这里要注意,是顺序的
先来看一个简单的案例:

lst=['q', 'i', 'w', 's', 'i', 'r']
for i in lst:
    print(i)

这个就是用的迭代,从lis列表中顺序的取出一个数,然后赋值给变量i,然后在一个一个打印显示出来
for迭代用法
在Python中能够用于for循环的对象有以下种类:
1、集合数据类型,如字符串、列表、元组、字典和集合;
2、生成器,包括生成器表达式和生成器函数。
 
所有这些能够用于for循环的对象均被称为可迭代对象(Iterable).判断一个对象是否可迭代对象可以使用isinstance ( )方法,即
 
>>> from collections import Iterable 
>>> isinstance ( '', Iterable)
True
>>> isinstance( [], Iterable)
True
>>> isinstance( () , Iterable) 
True
>>> isinstance( {} , Iterable)
True
>>> isinstance ( (num * num for num in range(5) ) ,Iterable)
True
在所有可以用于for循环的对象中,生成器还可以被next()函数不断调用并生成下一个值,直到抛出Stoplteration错误表示无法继续为止。
像生成器这种可以被next( )函数调用并不断生成下一个值的对象被称为迭代器(Iterator) .
可以使用isinstance ()判断一个对象是否是迭代器,即
 
>>> from collections import lterator 
>>> isinstance ( ', , Iterator) 
True
>>> isinstance( [ ] , Iterator)
True
>>> isinstance ( ( ) , Iterator) 
True
>>> isinstance ( {}  , Iterator)
True
>>> isinstance( ( num * num for num in range(5) ) , Iterator)
True
对于不是迭代器的可迭代对象,可以使用iter()函数将其变为迭代器,即
>>> from collections import Iterator
>>> isinstance ( [ ] , Iterator) 
False

>>> isinstance(iter( ) .Iterator)
True
可以使用for循环遍历迭代器,即
 
#!/usr/ bin/env python
list = [1.2.3,4]
for num in iter (list ) : 
    print ( num )
执行结果为
1
2
3
4
也可以使用next( )函数遍历迭代器,即
 
#!/usr/bin/env python
import sys
list = 1.2.3.41
iter = iter( list) 
while True: 
    try:
          print( next( iter)
    except Stoplteration :
          sys. exit()
执行结果为
1
2
3
4

 

相关热词:

热门关键词
python字符串
     
python教程 python爬虫 python人工智能 Python+大数据 python问答