python基础(第14天)--生成器函数和生成器表达式

生成生成器的方法有两种,一种是生成器函数,另一种是生成器表达式,生成器函数前面已经讲过,这里说明一下生成器表达式的方式:

# 列表推导式
# l = [i for i in range(10)]
# print(l) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 一次性读取
g = (i for i in range(10)) # 生成器表达式
print(g) # <generator object <genexpr> at 0x000001A08B9BA8B8> 得到 个生成器
for i in g:
print(i) # 获得相应的值

# 二者的区别:生成器表达式不占用内存,列表占用内存;括号不同


# [对元素的操作 for 元素 in 可迭代对象]  遍历处理,对每一个元素进行操作
# [条件满足时对元素的操作 for 元素 in 可迭代对象 if 元素的判断条件] 筛选功能,对满足条件的元素进行操作

# 列表推导式:
# 求30以内能被3整除的数
# lst = [i for i in range(30) if i % 3 == 0]
# print(lst) # [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

# 字典推导式:略
# 集合推导式; 略

猜你喜欢

转载自www.cnblogs.com/eric818/p/10409121.html