(完)learn python第五章:更多类 (第六节:递推式构造列表list comprehensions)

1)list complrehensions是快速创建遵循简单规则内容的列表的有用方式

比如,我们可以做以下例子

#  a list comprehension(计算呢5范围内数字的3次方)

cubes = [i**3 for i in range(5)] 

print(cubes)


结果:

>>>

[0,1,8,27,64]

>>>

注:list comprehensions是来自于数学中有明确条件限制的集合中用来表示元素的字母


练习:

以下递推式构造表会创建什么?

nums = [i*22 for i in range(10)]

a.1到10的所有数字

b.1到18的偶数

c.1-10的偶数


2)list comprehensions 也可以包含一个if语句来强制列表中值的条件

例子:

evens = [i**2 for i in range(10) if i**2 % 2 == 0]

print(evens)


结果:

>>>

[0,4,16,36,64]

>>>


练习:

创建一个列表:乘3的数字范围在 1-20

a = ___ i for i in range(20) if i%___ ==(0)


3)试着在非常广泛的范围内创建一个列表将导致一个memoryerror,这个代码显示一个例子,理解下在递推式列表里爆内存的情况

例子:

even = [2*i for i in range(10*100)]

结果:

>>>

memory error

>>>


练习:

填空题

a = [x*10 ___x____ range(__,9)]


(完)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值