码迷,mamicode.com
首页 > 编程语言 > 详细

python开发函数进阶:可迭代的&迭代器&生成器

时间:2017-08-03 01:07:25      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:循环   列表   int   port   log   实现   top   import   对象   

一,可迭代的

#iterable 可迭代的
#str
#列表
#tuple
#set
#dict

#可迭代的 ——对应的标志 __iter__
# print(‘__iter__‘ in dir([1,2,3])) #判断一个变量是不是一个可迭代的

可迭代的转化成迭代器方法

1 #!/usr/bin/env python
2 #*_*_cod:utf-8_*_
3 
4 #将可迭代的转化成迭代器
5 l = [1,2,3,4,5]
6 for i in l:
7     print(i)
8 print(iter(l))   #内置函数  iter == l._iter_()
9 print(l.__iter__())

 

二,迭代器

#迭代器 大部分都是在python的内部去使用的,我们直接拿来用就行了
#迭代器:内置__iter__和__next__方法

迭代器实现for循环

 1 #!/usr/bin/env python
 2 #*_*_cod:utf-8_*_
 3 
 4 l = [1,2,3,4,5]
 5 l_iterator = iter(l)
 6 print(l_iterator.__next__())
 7 print(l_iterator.__next__())
 8 print(l_iterator.__next__())
 9 print(l_iterator.__next__())
10 print(l_iterator.__next__())
11 next(l_iterator) #==l_iterator.__next__()
12 while True:  自己写相当于for循环
13     try:
14         print(next(l_iterator))
15     except StopIteration:
16         break

 

小结:

#!/usr/bin/env python
#*_*_cod:utf-8_*_

#迭代器 大部分都是在python的内部去使用的,我们直接拿来用就行了
#迭代器:内置__iter__和__next__方法
from collections import Iterable
from collections import Iterator
#判断是否是迭代器 和 可迭代对象的简便方法
# s = ‘abc‘
# print(isinstance(s,Iterable))      s 是不是一个可迭代对象
# print(isinstance(s,Iterator))      s 是不是一个迭代对象
# print(isinstance(iter(s),Iterator))

 

python开发函数进阶:可迭代的&迭代器&生成器

标签:循环   列表   int   port   log   实现   top   import   对象   

原文地址:http://www.cnblogs.com/jokerbj/p/7277208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!