zoukankan      html  css  js  c++  java
  • 【Python进阶】来谈谈几个常用的内置函数

    匿名函数(lambda表达式)

    在Python中,函数可以算的上是“一等公民”了,我们先回顾下函数的优点:

    • 减少代码重复量
    • 模块化代码

    但是我们有没有想过,如果我们需要一个函数,比较简短,而且只需要使用一次(无需重复调用),那还需要定义一个有名字的函数么?

    答案是否定的,这里我们就可以使用匿名函数来实现这样的功能。

    我们先看看求一个数的平方,我们定义个函数怎么写:

    def square(x):
        return x**2
    
    square(3)

    而lambda表达式就可以这样写:

    square = lambda x: x**2
    square(3)

    根据上面的例子,其实lambda表达式使用还是很简单的,如下:

    lambda argument1, argument2,.....: expression

    接下来,介绍的map、filter和reduce函数,与lambda表达式结合使用,才能发挥其强大的作用了。

    map函数

    map函数的使用如下:

    map(function, iterable)

    其作用是,对iterable的每个元素,都运用function这个函数,最后返回新的可遍历的集合。

    a = [1,2,3,4,5]
    b = map(lambda x: x*2,a)
    print(list(b))
    # [2, 4, 6, 8, 10]
    filter函数

    filter函数的使用如下:

    filter(function, iterable)

    其作用是,对iterable的每个元素,都运用function这个函数进行判断,最后返回全部为True的新的可遍历的集合。

    a = [1,2,3,4,5,6]
    b = filter(lambda x :x%2 ==0, a)
    print(list(b))
    # [2, 4, 6]
    reduce函数

    reduce函数的使用如下:

    reduce(function, iterable)

    function规定有两个参数,表示对iterable每个元素和上一次运算的结果,进行function运算,最后得到一个值,这里要注意,我们需要从functools中导入reduce。

    from functools import reduce
    
    a = [1,2,3,4]
    b = reduce(lambda x,y: x*y,a)
    print(b)
    # 24  1*2*3*4
    总结
    • lambda表达式
    • map、filter和reduce函数

    更多精彩文章关注微信公众号【python社区营】

    python开发IT技术交流群:887934385

  • 相关阅读:
    常用的python模块
    程序人生--世界观
    JQuery与CSS之图片上放置button
    所谓的成就感,想想我们測过的那些功能
    王立平-bmp.compress()
    Android多媒体学习六:利用Service实现背景音乐的播放
    NHibernate3剖析:Mapping篇之集合映射基础(3):List映射
    freeradius 启动报错Refusing to start with libssl version OpenSSL 1.0.1
    超级简单JS网页倒计时代码
    一起talk C栗子吧(第一百一十二回:C语言实例--线程同步概述)
  • 原文地址:https://www.cnblogs.com/pypypy/p/12077477.html
Copyright © 2011-2022 走看看