这三个好用的python函数你不能不知道!
作者:程序员石磊 发布时间:2023-04-23 10:29:22
一、前言
我想介绍这些功能的主要原因是它们可以帮助您避免编写循环。在某些情况下,循环运行可能会很昂贵,除此之外,这些功能将有助于提高速度。
以下是本文将涵盖的功能:
map()
filter()
reduce()
即使你之前已经掌握了这些功能,用更多的理论和例子来强化你的知识也没有害处。
所以不用多说,让我们开始吧!
二、map()
map()函数接受另一个函数作为形参,以及某种数组。其思想是将一个函数(作为参数传入的函数)应用到数组中的每一项。
这很有用,有两个原因:
1.你不必写循环
2.它比循环快
让我们看看它的实际应用。我将声明一个名为num_func()的函数,它接受一个数字作为参数。这个数的平方除以2,然后返回。注意,操作是任意选择的,你可以在函数内部做任何你想做的事情:
现在让我们声明一个数字数组,我们想对其应用num_func()。注意map()本身会返回一个map对象,所以你需要将它转换为一个列表:
看起来这个过程很成功。这里没有什么开创性的东西,但是尽可能避免循环是一件好事。
三、filter()
下面是另一个不错的函数,它可以节省您的时间——无论是编写还是执行。顾名思义,这个想法是将只满足特定条件的项保存在数组中。
就像map()一样,我们可以事先声明函数,然后将它与可迭代对象列表一起传递给filter()。
让我们看看它的实际应用。我已经声明了一个名为more_than_15()的函数,顾名思义,如果作为形参的项大于15,该函数将返回True:
接下来,我们声明一个数字数组,并将它们作为第二个参数传递到filter()函数中:
正如你所料,只有三个值满足给定的条件。再一次,这里没有什么开创性的东西,但看起来比循环好多了。
四、reduce()
现在reduce()与前两个稍有不同。首先,我们必须从functools模块中导入它。其主要思想是将给定函数应用于项数组,并返回单个值作为结果。
最后一部分至关重要——reduce()不会返回项的数组,它总是返回单个值。让我们看一个图表来具体说明这个概念。
5加10,结果是1515加12,结果是2727加18,结果是4545加25,结果是70
70是返回的值。首先从代码实现开始,让我们从functools模块导入reduce函数,并声明一个函数返回两个数字的和:
现在,我们可以重新访问代码,并验证一切正常运行:
我希望你能在日常生活中利用这三个功能。速度的提高可能不是很大——这取决于您所处理的数据量——但是代码通常会因为更少的循环而看起来更好!
来源:https://blog.csdn.net/huangmingleiluo/article/details/117802272


猜你喜欢
- 需要安装pywin32模块,pip install pywin32##pip install pywin32import win32api,
- Agent 服务启动后又停止本地计算机上的SQL Server Agent 服务启动后又停止了,一些服务自动停止,如果它们没有什么可做的例如
- 第一步:创建一个表。 create table Test_Table ( ID number(11) primary key, Name v
- 一、命名空间和作用域当出现了函数,变量声明的位置就发生了变化,不同位置声明的变量,能访问这个变量的范围也出现了限制1.1 定义**命名空间:
- pandas 保存数据到excel,csvpandas 保存数据比较简单对于任意一个dataframe:import pandas as p
- 本文实例分析了Python二分法搜索算法。分享给大家供大家参考。具体分析如下:今天看书时,书上提到二分法虽然道理简单,大家一听就明白但是真正
- 在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装
- 一、格式化输入和输出1.从终端获取用户的输入fmt.Scanf 空格作为分隔符,占位符和格式化输出的一致fmt.Scan 从终端获取用户的输
- 本文主要给大家介绍的是关于python爬取散文网文章的相关内容,分享出来供大家参考学习,下面一起来看看详细的介绍:效果图如下:配置pytho
- 第一次碰到这个问题的时候,确实不知道该怎么办,后来请教了一个大神,加上自己的理解,才了解是什么意思,这个东西写python的会经常用到,而且
- 本文实例讲述了Python实现的远程登录windows系统功能。分享给大家供大家参考,具体如下:首先安装wmi 命令:pip install
- SQL注入攻击的总体思路是:1.发现SQL注入位置;2.判断后台数据库类型;3.确定XP_CMDSHELL可执行情况4.发现WEB虚拟目录5
- 本文实例为大家分享了python实现抠图的具体代码,供大家参考,具体内容如下其中使用了opencv中的grabcut方法直接上代码# enc
- 目录什么是 PyMySQL?PyMySQL 安装数据库连接实例:创建数据库表数据库插入操作数据库查询操作数据库更新操作删除操作执行事务错误处
- BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_i
- 1、字符串的每行末尾使用 \ 续行以多行的形式书写字符串,每行的末尾使用 \ 续行。需要注意输出内容为一行。>>> str
- 今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python
- sql语句中默认是不区分大小写的,所以语句: Sql代码 SELECT * FROM RecEngineBizInfo WHERE RecE
- 当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值。因为用s = [[0]*3]*2 初始
- Python数据库编程之pymysql学习之前务必安装MySQL并已启动相关服务。一、pymsql的安装在python3的环境中直接使用以下