5.14 Day12

一.迭代器

(1).什么是迭代器:能被next调用,并不断返回下一个值得对象,叫做迭代器 (迭代器是对象)

(2).概念:迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续,单纯的重复不是迭代

(3).特征:不依赖索引,通过next指针迭代所有数据,一次只取一个,可以大大节省空间,迭代无限量的数据

(4).for 循环遍历数据的底层实现就是利用了迭代器,通过next方法进行调用,从而获取数据

可迭代对象 和 迭代器之间的关系: 从不可被直接获取 => 可被直接获取的过程

(5)注意点:如果是一个可迭代对象,不一定是一个迭代器 ; 如果是一个迭代器,一定是一个可迭代对象

(6)如何定义一个迭代器:(1)iter(可迭代对象)      (2)可迭代对象.__iter__()

(7).如何判断一个迭代器:如果内置成员中 含有 __iter__ 和 __next__ 两个方法,就可以判断是一个迭代器

(8).如何调用一个迭代器:(1) next(迭代器)   (2)迭代器.__next__()   迭代器通过next方法调用时,是单向不可逆的过程

二.高阶函数

# map(func,iterable)

功能:把iterable里面的数据一个一个拿出来,放到func函数中进行处理,把处理的结果扔到迭代器中,返回迭代器

参数:
func 内置或自定义函数
iterable 具有可迭代性的数据 ([迭代器],[容器类型的数据],[range对象])
返回值:
返回最后的迭代器

# filter(func,iterable)

功能:用来过滤的,如果func函数中返回True , 会将这个值保留到迭代器中,如果func函数中返回False , 会将此值舍弃不保留

参数:
func : 自定义函数
iterable : 具有可迭代性的数据(迭代器,容器类型数据,可迭代对象)
返回值:
返回处理后的迭代器

# reduce(func,iterable)

功能: 先把iterable里面的前2个数据拿到func函数当中进行运算,得到结果,,在把计算的结果和iterable中的第三个数据拿到func里面进行运算,依次类推 ,直到iterable里面的所有数据都拿完为止,程序结束
参数:
func 内置或自定义函数
iterable 具有可迭代性的数据 ([迭代器],[容器类型的数据],[range对象])
返回值:
计算的最后结果

# sorted(iterable,reverse=False,key=函数)

功能: 对数据进行排序 

参数:
iterable : 具有可迭代性的数据(迭代器,容器类型数据,可迭代对象)
reverse : 是否反转 默认为False 代表正序, 改成True 为倒序
key : 指定函数 内置或自定义函数
返回值:
返回排序后的数据

猜你喜欢

转载自www.cnblogs.com/cloudlzh/p/12891577.html