Python34-03-LoopObject

##循环对象--python 3.x

 

##当一个循环结构(比如for)调用循环对象时,它就会每次循环的时候调用next()方法,直到StopIteration出现,for循环接收到,就知道循环已经结束,停止调用next()

##f = open('test.txt','r')

##f.__next__()

 

##for line in open('test.txt'):

##    print (line)

 

##迭代器

##循环对象转换成迭代器(iterator)。这一转换是通过使用iter()函数实现的

 

##生成器(generator)--构成一个用户自定义的循环对象

 

##生成器的编写方法和函数定义类似,只是在return的地方改为yield。

##生成器中可以有多个yield。当生成器遇到一个yield时,会暂停运行生成器,返回yield后面的值。当再次调用生成器的时候,会从刚才暂停的地方继续运行,直到下一个yield。

##生成器自身又构成一个循环器,每次循环使用一个yield返回的值

##def gen():

##    a = 100

##    yield a

##    a = a*8

##    yield a

##    yield 1000

##

##for i in gen():

##    print (i)

 

##下一个生成器

##def gen():

##    for i in range(4):

##        yield i

##又可以写成生成器表达式(Generator Expression)

##G = (x for x in range(4))

 

 

##表推导(list comprehension)是快速生成表的方法

##L = []

##for x in range(10):

##    L.append(x**2)

 

##快捷的写法

L = [x**2 for x in range(10)]

 

print (L)

 

xl = [1,3,5]

yl = [9,12,13]

L  = [ x**2 for (x,y) in zip(xl,yl) if y > 10]

 

print (L)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值