这 3个Python 函数你知道吗?

简介: 这 3个Python 函数你知道吗?

动动发财的小手,点个赞吧!

作为21世纪最流行的语言之一,Python当然有很多有趣的功能值得深入探索和研究。今天将介绍其中的三个,每个都从理论上和通过实际示例进行介绍。

我想要介绍这些函数的主要原因是它们可以帮助您避免编写循环。在某些情况下,循环的运行成本可能很高,除此之外,这些函数将有助于提高速度。

以下是本文将涵盖的功能:

  1. map()
  2. filter()
  3. reduce()

即使您以前听说过这些功能,通过更多的理论和示例来加强您的知识也没有什么坏处。

因此,事不宜迟,让我们开始吧!

map

map() 函数接受另一个函数作为参数,以及某种数组。这个想法是将一个函数(作为参数传入的函数)应用于数组中的每个项目。

这派上用场有两个原因:

  1. 你不必写一个循环
  2. 它比循环更快

让我们看看它的实际效果。我将声明一个名为 num_func() 的函数,它将一个数字作为参数。该数字被平方并除以 2 并原样返回。请注意,操作是任意选择的,您可以在函数内做任何您想做的事情:

现在让我们声明一个数字数组,我们要在其上应用 num_func()。请注意 map() 本身将返回一个地图对象,因此您需要将其转换为列表:

似乎该过程已成功完成。这里没有什么开创性的,但尽可能避免循环是一件好事。

filter

这是另一个可以节省您时间的不错的函数——无论是在编写还是在执行上。顾名思义,这个想法是只将满足特定条件的项目保留在数组中。

就像 map() 一样,我们可以预先声明函数,然后将它与可迭代列表一起传递给 filter()。

让我们看看这个在行动中。我已经声明了一个名为 more_than_15() 的函数,顾名思义,如果作为参数给出的项目大于 15,它将返回 True:

接下来,我们声明一个数字数组并将它们作为第二个参数传递给 filter() 函数:

正如预期的那样,只有三个值满足给定条件。再一次,这里没有什么开创性的,但看起来比循环好得多。

reduce

现在 reduce() 与前两个有点不同。首先,我们必须从 functools 模块中导入它。这背后的主要思想是它将给定的函数应用于项目数组并返回单个值作为结果。

最后一部分很关键——reduce() 不会返回一个项目数组,它总是返回一个值。让我们看一张图来具体说明这个概念。

这是在案例图不是 100% 清楚的情况下写出的逻辑:

  1. 5 加到 10,结果是 15
  2. 15 加 12,结果是 27
  3. 27 加 18,结果是 45
  4. 45 加到 25,结果是 70

70 是返回的值。从代码实现开始,让我们从 functools 模块导入 reduce 函数并声明一个返回两个数字之和的函数:

现在我们可以重新访问代码中的图表,并验证一切是否正常工作:

暂时不要进入评论部分——我完全知道还有其他方法可以对列表中的项目求和。这只是展示该功能如何工作的最简单示例。

相关文章
|
3天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
18 0
|
15天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
16 1
|
30天前
|
Python
Python函数使用(四)
Python函数使用(四)
63 0
|
8天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
40 1
|
8天前
|
索引 Python
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
10 0
|
10天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
51 0
|
10天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
11天前
|
Python
python学习10-函数
python学习10-函数
|
11天前
|
Python
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
|
14天前
|
测试技术 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,用于修改函数或方法的行为。本文将深入探讨Python中装饰器的概念、用法和实际应用,以及如何利用装饰器实现代码的优雅和高效。