Python中几个必须知道的函数
Python中自带了几个比较有意思的函数,一般在面试或者笔试基础的时候会问到,其中3个就是map、filter、reduce函数。
1.map(function, iterable)
它第一个要传的元素是函数名或lambda匿名函数表达式,第二个元素传入可迭代对象。
array = [1,2,3,4,5]result = map(lambda x:x+1,array)result#这里result直接打印的结果是一个对象,需要用list转化一下才
可以看到具体结果<map object at 0x0000000003A79518>list(result)[2, 3, 4, 5, 6]
这里我们可以看到,map函数结果里的每一个元素都比原列表对应的元素大1,而我缩写的lambda表达式就是将每个元素加1。
由此可以看出map()函数的作用就是将可迭代对象里的每个元素进行函数操作,然后将元素操作后所组成的可迭代对象返回。
2.filter(function, iterable)
同样,第一个参数传入函数名或匿名函数,第二个元素传入可迭代对象
#先按map的函数传入试一下array = [1,2,3,4,5]result = filter(lambda x:x+1,array)result<filter object at
0x0000000003A79550>list(result)
#结果没有变化,说明对参数没有进行操作返回[1, 2, 3, 4, 5]
#将函数进行True、False判断返回试一下result1 = filter(lambda x:x if x%2==0 else None,array)result1<filter object at
0x0000000003C28A90>list(result1)
#返回了为True的值[2, 4]
由上面的代码可以得出,filter()函数是将可迭代对象的元素代入函数,然后返回为True的元素,一般做筛选的时候可以用到,不用再写循环。
3.reduce(function, iterable)
reduce函数只有在python2中才有,传入参数和map、filter是一样的。但它的函数传入的是两个元素,将前两个元素代入函数后返回操作后的值,将返回的值再作为第一个元素,同时将第三个元素作为第二个元素再次代入函数进行运算,直到结束返回最后结果。
array = [1,2,3,4,5]
result = reduce(lambda x,y:x+y,array)
list(result)
#1+2+3+4+5=1515
它的操作步骤其实很简单:
第一次x=1,y=2传入匿名函数,x+y是返回的值3
第二次x=3(返回的那个3),y=3(此3为列表中第二个元素)代入函数,返回x+y为6
第三次x=6,y=4,返回x+y为10
第四次x=10,y=5,返回x+y为15
后边没有元素可传入直接结束。
温馨提示:python工具里自带的函数不一定是最快的算法,只是为了方便使用,编写代码快速、简洁,如果追求速度的话还是要自己手撸最优算法。(所以面试才有那么多算法和数据结构的题目)
本文转载于https://www.py.cn/jishu/jichu/11175.html
Python中几个必须知道的函数的更多相关文章
- 【python】dir(__builtins__)查看python中所用BIF(内置函数)
dir(__builtins__)查看python中所用BIF(内置函数)
- python中lambda,map,reduce,filter,zip函数
函数式编程 函数式编程(Functional Programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象.简单来讲,函 ...
- 【转】Python 中map、reduce、filter函数
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
- python中列表和字典常用方法和函数
Python列表函数&方法 Python包含以下函数: 序号 函数 1 cmp(list1, list2)比较两个列表的元素 2 len(list)列表元素个数 3 max(list)返回列表 ...
- python中通过字符串名来调用函数
强调:eval()函数功能虽然强大,但是也很危险,这个方法需要慎重使用. 利用python中的内置函数 eval() ,函数说明: def eval(*args, **kwargs): # real ...
- python中的文件读写(open()函数、with open('file_directory','r') as f:、read()函数等)
python中也有文件读写,通过调用内置的读写函数.可以完成文件的打开/关闭.读.写入.追加等功能. open()函数 open()函数为python中的打开文件函数,使用方式为: f = open( ...
- python中的作用域以及内置函数globals()-全局变量、locals()-局部变量
在python中,函数会创建一个自己的作用域,也称为为命名空间.这意味着在函数内部访问某个变量时,函数会优先在自己的命名空间中寻找. 通过内置函数globals()返回的是python解释器能知道的变 ...
- Python中如何实现im2col和col2im函数(sliding类型)
今天来说说im2col和col2im函数,这是MATLAB中两个内置函数,经常用于数字图像处理中.其中im2col函数在<MATLAB中的im2col函数>一文中已经进行了简单的介绍. 一 ...
- Python中strip()、lstrip()、rstrip()函数的用法
Python中使用函数strip().lstrip().rstrip()来剔除字符串前后的特定字符 函数语法为:str.strip(chars) 返回值是一个新的字符串,不更改源字符串 其中,参数ch ...
随机推荐
- Java操作文件那点事
刚开始学Java时候,一直搞不懂Java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己结合API来整理一下,有错的话请指正,也希 ...
- 一步一步配置AWS ELB Https证书
第一步:生成CSR 要配置证书,我们首先需要创建一个CSR来向证书提供商申请证书.这个过程我们可以通过IIS中的工具来生成. 然后需要填写如下信息: 下一步后选择文件名后我们就可以创建出CSR 文件了 ...
- Hadoop环境搭建|第一篇:linux操作系统安装
一.安装工具及文件 优盘:8G(非kingston优盘) 制作启动盘工具:Universal_USB_Installer 操作系统:CentOs操作系统 二.注意事项 安装过程的详细步骤,这里就不再赘 ...
- Flask 编写一个授权登录验证的模块(二)
本篇比上一篇多了重定向的功能 #!/usr/bin/env python # -*- coding: utf-8 -*- #python3 import base64 import random im ...
- 以太坊联盟链 parity 节点搭建
https://www.cnblogs.com/sumingk/articles/9097996.html 上一篇文章介绍了以太坊私有链 geth节点的搭建,本篇介绍下企业级应用 联盟链搭建,运用pa ...
- 前端js保存页面为图片下载到本地
前端js保存页面为图片下载到本地 手机端点击下载按钮将页面保存成图片到本地 前端js保存页面为图片下载到本地的坑 html2canvas 识别 svg 解决方案 方案 html2canvas.js:可 ...
- kotlin嵌套类
就是类中定义类 package loaderman.demo class Outer { var name: String = "name" inner class inner { ...
- MySQL连接错误:Can't connect to MySQL server on'localhost' (10055)
在Windows服务器上确认服务器和mysql都是正常运行,但就是连接不上.搜了一下别人的解决方案, 参考这篇https://blog.csdn.net/langren697/article/deta ...
- distinct 排除重复 函数
select count(distinct uid) from ib_user_settings; 参考: http://www.w3school.com.cn/sql/sql_distinct.as ...
- opengl球形网格生成
效果如图 准备第三方库 glew.freeglut.glm 代码包括主程序源文件mainApp.cpp.顶点着色器shader.vs.片元着色器shader.fs mainApp.cpp如下 #i ...