列表(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的值。
如果还有不明白的小伙伴,欢迎留言评论或私信告诉我。
领取专属 10元无门槛券
私享最新 技术干货