• 技术文章 >Python技术 >Python基础教程

    python中filter与map不同

    小妮浅浅小妮浅浅2021-02-22 09:42:09原创2932

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    1.定义不同

    map是Python的内置函数, 使用的方式如下:

    list = map(func, iter)

    其中, func是函数, iter是可迭代的序列。

    它的功能是:将一个序列中的每一个元素应用传入的函数, 并返回一个包含所有函数调用结果的一个列表

    使用方式:

    from collections import Iterable
     
    lst = [1, 2, 5, 6, 7]
    res = filter(lambda x: x % 2 == 0, lst)
    # res 是一个可迭代对象
    print(isinstance(res, Iterable), type(res))
    for item in res:
    print(item)

    2.返回结果不同

    函数名区别map作用于每个可迭代对象的元素,并返回处理之后的元素filter作用于可迭代内每个元素,根据计算后结果:True保留,Flase去掉

    获取列表内所有的整数类型元素

    def only_int(x):
        try:
            if isinstance(x, int):
                return True
            else:
                return False
        except ValueError as e:
            return False
     
    dt = filter(type_int,[1,2,3,3,'3232',-34.5,34.5])
    >>> list(dt)
    [1, 2, 3, 3]

    以上两点就是python中filter与map的不同,通过定义和实例我们能够清晰的看出二者的不同,小伙伴们使用的时候可以根据想要的结果挑选合适的函数。

    专题推荐:filter map
    上一篇:python filter函数的返回值是什么 下一篇:python globals函数是什么?

    相关文章推荐

    • 详解python filter函数的用法及使用• python实战:filter()函数中用None过滤• python filter函数的返回值是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网