专栏首页有趣的Python和你Python进阶|谈谈几个常用的内置函数

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函数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习实战之Logistic回归

    罗罗攀
  • 函数讲解

    罗罗攀
  • Python函数与控制语句

    函数就是用来处理重复的事情的,例如,求直角三角形的面积,每次我们都要定义两个直角边和计算公式。通过定义函数,这样只需要输入直角边就能计算出直角三角形的面积函数:

    罗罗攀
  • Python 函数式编程

    技能锦囊
  • Python高阶函数

    在了解什么是高阶函数之前,我们来看几个小例子。我们都知道在 python 中一切皆对象,函数也不例外。比如求绝对值函数 abs,我们可以用一个变量 f 指向 a...

    Python编程与实战
  • 内置函数 -- filter 和 map

    参考地址:http://www.cnblogs.com/sesshoumaru/p/6000788.html

    用户7798898
  • Python下小米加步枪lambda和相关函数使用

    lambda定义匿名函数,并不会带来程序运行效率的提高,只会使代码更简洁, 为了减少单行函数的定义而存在的。

    后场技术
  • js数组的拷贝赋值复制-你真的懂?

    IT故事会
  • Python 装饰器简单示例

    py3study

扫码关注云+社区

领取腾讯云代金券