day06-1 模块

一、生成器,generator,节省内存,但是增加了CPU的计算时间(下节课讲函数怎么变成生成器)

 每次循环的时候,就按照这个规则(自己定义的逻辑)去生成一个数据。

res = [ 'a','1' ]

只有在每次循环的时候,才按照这个规则去生成数据。

all = (i for i in range(5))
print(all)# generator生成器

 附:列表生成式

num = [str(i).zfill(2) for i in range(10)]# list
nums = ( str(i).zfill(2) for i in range(10) )# 生成器,外层为[],则为列表生成式,外层为(),则为生成器
print(nums)
for n in nums:
    print(n)

二、map,循环调用函数

三、filter,过滤

# 过滤,它把函数处理结果为假的数据过滤掉
# 只保留函数返回真的数据
def my(num):
    if num%2==0:
        return True
res = list( filter(my, range(10) ))# 过滤,它把函数处理结果为假的数据过滤掉
res2 = list( map( my,range(10) ) )# 不管返回什么,都拿到全部结果
print('filter...res',res)
# 运行结果:filter...res [0, 2, 4, 6, 8]
print('map...res2',res2)
# 运行结果:map...res2 [True, None, True, None, True, None, True, None, True, None]

猜你喜欢

转载自www.cnblogs.com/Noul/p/9294134.html