python学习之高阶函数
filter函数:
filter()为已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中
list = filter(调用函数名,可迭代对象)——调用函数名自动传参——可迭代对象的所有元素,返回非零元素被放入列表中
实例:
cleaned_data = filter(is_convert_float,str_array)
def is_convert_float(s):
"""
判断字符串s能否转换为数字
:param s:
:return:
"""
try:
float(s)
except:
return False
return True
这里用的try——except来判断所传入的字符串能不能被转成浮点型
所以filter的功能就是把str_array中所有可以转换城浮点型的数据存到一个列表中,进行后续操作
PS:这里说到存到列表中有一点不严谨,因为py3中filter返回的对象是一个迭代器了,所以可以强制转化一下
也可以用列表推导式来做——
list = [item for item in list_array]
再来看一下map函数——如果filter函数是利用函数筛选,那么map高阶函数就是利用函数统一操作
map()将函数调用映射到每个序列的对应元素上并返回一个含有所有返回值的列表
还没怎么在项目中用到经验不多,就先不给实例了
map(函数名,可迭代对象)迭代每一个元素作为函数的参数,将返回的值构造成一个新的列表或相同维度的数组
有一个不错的总结
转载来源:http://blog.sina.com.cn/s/blog_45ac0d0a010191rb.html
注意function函数不能为None。
python学习之高阶函数的更多相关文章
- Python学习笔记 - 高阶函数
高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...
- python学习笔记——高阶函数map()
满足以下两点中任意一点,即为高阶函数: 1.函数接收一个或多个函数作为参数 2.函数返回一个函数 1 描述 用函数和可迭代对象中每一个元素作为参数,计算出新的迭代对象 map() 会根据提供的函数对指 ...
- Python学习之高阶函数--嵌套函数、函数装饰器、含参函数装饰器
玩了一晚上王者,突然觉得该学习,然后大晚上的搞出来这道练习题,凌晨一点写博客(之所以这么晚就赶忙写是因为怕第二天看自己程序都忘了咋写的了),我太难了o(╥﹏╥)o 言归正传,练习题要求:构造类似京东的 ...
- Python 函数式编程 & Python中的高阶函数map reduce filter 和sorted
1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数 ...
- Python中的高阶函数与匿名函数
Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...
- Python入门篇-高阶函数
Python入门篇-高阶函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.高级函数 1>.First Class Object 函数在Python中是一等公民 函数也 ...
- python进阶学习之高阶函数
高阶函数就是把函数当做参数传递的一种函数, 例如: 执行结果: 1.map()函数 map()接收一个函数 f 和一个list, 并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 l ...
- 说说 Python 中的高阶函数
高阶函数(higher-order function)指的是:接受一个函数为参数,或者把函数作为结果值返回的函数. 1 sorted() 比较常见的高阶函数是 sorted(),其内部的关键字参数 k ...
- 匿名函数python内置高阶函数以及递归
匿名函数 python定义一个函数通常使用def关键词,后面跟函数名,然后是注释.代码块等. def func(): '''注释''' print('from func') 这样就在全局命名空间定义了 ...
随机推荐
- Hadoop(一) HADOOP简介
1. HADOOP背景介绍 1.1 什么是HADOOP HADOOP是apache旗下的一套开源软件平台 HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 H ...
- Java与go哪个更适合后端开发呢?哪个更适合新手呢?
Java语言目前在后端开发领域有广泛的应用,尤其是大型互联网平台往往选择Java作为主要的后端编程语言.同时,Java自身的生态比较健全,也有大量的成功案例,所以采用Java做后端编程语言是一个风险比 ...
- php 数组指定位置插入数据单元
PHP array_splice() 函数 array_splice(array,offset,length,array) 参数 描述 array 必需.规定数组. offset 必需.数值.如果 ...
- [最新原创电子书]lazarus开发者入门及中级教程
目前市面上没有任何一本完整的书,介绍Lazarus,Firebird这两个优秀的开发工具,同时还有一个作为他们之间桥梁的开发套件ZeosDBO,也没有任何完整的中文开发指南,本书以这三种开发套件为主线 ...
- 知名APP(支付宝、微信、花瓣等)首页设计技巧及原型实例讲解
APP首页设计对APP自身来说是至关重要的,一款优秀的APP产品,其首页设计不仅需要清晰的展示产品核心功能,给用户创造良好的用户体验,而且还需要展示公司的品牌形象,提升在用户心中的品牌认知度.今天,就 ...
- Android Studio 小新兵
1. java.lang.IllegalStateException: This app has been built with an incorrect configuration. Please ...
- Visual code 搭建Vue项目
使用VS Code搭建Vue项目 1.安装 VScode 2..安装最新node.JS 2.安装cnpm镜像 淘宝镜像(node自带安装了npm,故不再安装) npm install -g cnpm ...
- jquery或者JavaScript调用WCF服务的方法
/****************************************************************** * Copyright (C): 一心堂集团 * CLR版本: ...
- 【UI测试】--多窗口&系统资源
- New users can not log on Win8
方案: http://www.eightforums.com/tutorials/38838-user-profile-service-failed-sign-fix-windows-8-a.html ...