打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python之列表解析、生成器
干货一条街 2018-06-01 20:40:08

列表(list)是python标准数据类型之一,使用列表操作数据就显得极其重要了。

我们先看一个例子

列表解析

a = [x for x in range(10)],

我们可以理解为,当x在range(10)里时,a.append(x)。

用代码描述:

源码,供大家实验

a = [] # 定义一个空列表

def num():

for i in range(10): # for循环取出range(10)中的值

a.append(i) # 将刚取出的值加入到a中

print(a) # 打印a的值

num() # 调用函数

当然,我们还可以用列表去做一些更加复杂的的事,比如,

本来需要很多行代码的事,一行就搞定了。

不过,这样做也可能有拖慢程序的整体速度,因为a = [x for x in range(10)]语句是一次生成所有的列表元素,将其放入内存中待用,这就导致了资源的浪费。比如我们使用a =[ x for x in range(100000000)],那么就会生成一亿个数,多数计算机是有压力的(大家可以自己试一试)。

这时我们就需要用到生成器了,直接返回一个可迭代对象。例如:

生成器

大家可以看见,a不在是是list类型了,而是一个可迭代对象,瞬间完成。

next迭代

每迭代一次,就生成一个数。除了next,大家也可以用for迭代取出对象a的值。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python进阶06 循环对象
彻底理解python中的yield函数
什么是生成器?Python生成器如何使用?
Python中迭代器和生成器的区别?
Python 基础(十六):迭代器与生成器
Python3迭代器和生成器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服