首页 > 编程语言 > 详细

python基础_迭代器和高阶函数

时间:2020-06-21 19:54:03      阅读:57      评论:0      收藏:0      [点我收藏+]

1.迭代器

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

特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据
优点:需要数据的时候,一次取一个,可以大大节省内存空间.而不是一股脑的把所有数据放进内存.

#总结:
    1.惰性序列,节省内存空间
    2.遍历获取值得时候使用next,方向不可逆
    3.迭代器可以遍历无限量大的数据

2.定义迭代器

#(1) 如何定义一个迭代器
    (1) iter(可迭代对象) 

#(3) 如何调用迭代器
    (1) next(迭代器)

#(4)判断是否为迭代器
from collections import Iterator,Iterable
res = isinstance(range(10),Iterator)
print(res)
res = isinstance(range(10),Iterable)
print(res)

3.高阶函数

#高阶函数:能够把函数当成参数传递的就是高阶函数  例如:map reduce sorted filter

map(func,iterable)
功能:把iterable 里面的数据一个一个的拿到func进行处理,把处理之后的结果,返回到迭代器之后,最后返回迭代器
参数:
    func 自定义函数 或 内置函数
    iterable 可迭代对象 ( 容器类型数据 range对象 迭代器)
返回值:
    迭代器

3.高阶函数reduce

reduce(func,iterable)
功能:一次性从iterable拿出两个数据,扔到func函数中进行处理,
    把运算的结果在和iterable的第三个数据拿出来扔到func函数中进行处理
    ... 依次类推
    最后把计算的结果返回;
参数:
    func 自定义函数 或者 内置函数
    iterable 可迭代性数据( 容器类型数据 range对象 迭代器)
返回值:
    最后计算的结果

3.高阶函数filter

#     filter(func,iterable)
功能: 过滤
       在自定义的函数中,
       如果返回True   代表保留该数据
       如果返回Falase 代表舍弃该数据
            
参数: 
     func 自定义函数
     iterable 可迭代数据(容器类型数据, range对象, 迭代器)
返回值:
    迭代器

4.高阶函数sorted

# (4)通过自定义函数排序
lst = [19,27,35,48]
def func(n):
    return n % 10
lst = sorted(lst,key = func,reverse=True)
print(lst) ##[19, 48, 27, 35]

 

python基础_迭代器和高阶函数

原文:https://www.cnblogs.com/jalen-123/p/13173717.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!