python迭代器笔记

一、什么是迭代器

  1.可迭代(Iterable):直接作用于for循环

     2.迭代器(Iterator):不仅可迭代,还可以被next调用

 #可迭代

1
t = [i for i in range(5)] 2 print(t) 3 for i in t: 4 print(i)
[0, 1, 2, 3, 4]
0
1
2
3
4
out1
1 #迭代器
2 
3 t = (i for i in range(5))
4 print(t)
5 for i in t:
6     print(i)
<generator object <genexpr> at 0x0000029B9C3A6620>
0
1
2
3
4
out2

 二、判断是否为迭代器

  1.相关模块

    collections模块:Iterable,Iterrator,isinstance

  2.使用方法

    Iterable:可迭代

    Iterator:迭代器

    isinstance:判断变量是否为实例

  3.案例

 1 import collections
 2 l1 = [i for i in range(5)]
 3 l2 = (i for i in range(5))
 4 
 5 print('l1')
 6 print(isinstance(l1,collections.Iterable))
 7 print(isinstance(l1,collections.Iterator))
 8 
 9 print('\nl2')
10 print(isinstance(l2,collections.Iterable))
11 print(isinstance(l2,collections.Iterator))
l1
True
False

l2
True
True
out3

三、迭代器化

  1.相关函数

    iter:让可迭代变量转化为迭代器

1 from collections import Iterable,Iterator
2 
3 s = 'nihao wo shi zz'
4 print(isinstance(s,Iterable))
5 print(isinstance(s,Iterator))
6 
7 Is = iter(s)
8 print(isinstance(Is,Iterable))
9 print(isinstance(Is,Iterator))
True
False
True
True
out4

猜你喜欢

转载自www.cnblogs.com/cnlntr/p/9551828.html