python 列表生成器放while_Python列表生成式和生成器

本文详细介绍了Python中的列表生成式和生成器,包括如何使用列表生成式简化代码,以及如何通过将列表转换为生成器节省内存。通过示例展示了在while循环中使用列表生成器的方式,并探讨了在函数中定义生成器的用法,以及用函数实现9*9乘法口诀的例子。
摘要由CSDN通过智能技术生成

1、 生成式

li = [x*x for x in xrange(1,10) if x%2 == 0]

print(li)

结果:

[4, 16, 36, 64]

def funa():

a = []

for x in xrange(1,10):

if x%2 == 0:

a.append(x*x)

return a

print(funa())

结果:

[4, 16, 36, 64]

2、 生成器

#列表生成器

#1. 最简单的方法,把原来的生成式的[]换成()就OK了

lt = (x * x for x in xrange(1,101) if x % 2 == 0)

print(lt)

print(type(lt))

print(lt.next())

print(lt.next())

print(lt.next())

print(lt.next())

结果:

at 0x03161A80>

4

16

36

64

生成器可以用for循环调用

# for i in lt:

#     print(i)

#2. 函数中定义列表生成器

def fib(n):

sum = 0

i = 0

while(i

sum = sum + i

i+=

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值