python有趣函数_python中有趣的函数
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:
>>> def f(x): return x % 2 != 0 and x % 3 != 0
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]
>>> def f(x): return x != ‘a‘
>>> filter(f, "abcdef")
‘bcdef‘
map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回:
>>> def cube(x): return x*x*x
>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
>>> def cube(x) : return x + x
...
>>> map(cube , "abcde")
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘]
另外map也支持多个sequence,这就要求function也支持相应数量的参数输入:
>>> def add(x, y): return x+y
>>> map(add, range(8), range(8))
[0, 2, 4, 6, 8, 10, 12, 14]
reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和:
>>> def add(x,y): return x + y
>>> reduce(add, range(1, 11))
55 (注:1+2+3+4+5+6+7+8+9+10)
>>> reduce(add, range(1, 11), 20)
75 (注:1+2+3+4+5+6+7+8+9+10+20)
lambda:这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数,类似与C语言中的宏,这些叫做lambda的函数,是从LISP借用来的,可以用在任何需要函数的地方:
>>> g = lambda x: x * 2
>>> g(3)
6
>>> (lambda x: x * 2)(3)
6
我们也可以把filter map reduce 和lambda结合起来用,函数就可以简单的写成一行。
例如
kmpathes = filter(lambda kmpath: kmpath,
map(lambda kmpath: string.strip(kmpath),
string.split(l, ‘:‘)))
看起来麻烦,其实就像用语言来描述问题一样,非常优雅。
对 l 中的所有元素以‘:‘做分割,得出一个列表。对这个列表的每一个元素做字符串strip,形成一个列表。对这个列表的每一个元素做直接返回操作(这个地方可以加上过滤条件限制),最终获得一个字符串被‘:‘分割的列表,列表中的每一个字符串都做了strip,并可以对特殊字符串过滤。
原文:http://www.cnblogs.com/huangxiaohen/p/3841653.html
python有趣函数_python中有趣的函数相关推荐
- python中itemgetter函数_Python中的sorted函数以及operator.itemgetter函数
operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=op ...
- 如何用python生成软件_python中的生成器函数是如何工作的?
1. python中的普通函数是怎么运行的? 当一个python函数在执行时,它会在相应的python栈帧上运行,栈帧表示程序运行时函数调用栈中的某一帧.想要获得某个函数相关的栈帧,则必须在调用这个函 ...
- python中range 函数_Python中的range函数
本篇介绍range函数的特点及如何灵活运用. 工具/原料 Python3.7.5 Windows7环境 方法/步骤 1 查看range函数的帮助信息, range(stop) range(start, ...
- python继承super函数_Python中的super函数如何实现继承?
本篇文章给大家带来的内容是关于Python 中的super函数如何实现继承?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Py 2.x 和 Py 3.x 中有一个很大的区别就是类,无 ...
- python getattr函数_Python中的getattr()函数详解
在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么.它知道什么以及它能做什么.自省向程序员提供了极大的灵活性和控制力. 自省(introspection),在计算机编程领域里,是指在运行时来 ...
- python的empty函数_python中numpy.empty()函数的用法
在使用python编程的过程中,想要快速的创建ndarray数组,可以使用numpy.empty()函数.numpy.empty()函数所创建的数组内所有元素均为空,没有实际意义,所以它也是创建数组最 ...
- python 一等公民_Python中一等公民——函数
Python中"一等公民"--函数 Python的函数是"一等公民". 你可以将它们分配给变量,将它们存储在数据结构中,将它们作为参数传递给其他函数,甚至将它们 ...
- python方差函数_python 中的var()函数和cov函数用法-Go语言中文社区
本文是学习多篇博客总结而得: numpy中var和cov函数求法和MATLAB中var和cov函数求法类似: 首先均值X,样本方差S,样本协方差C 公式分别为: 一. MATLAB和Python中计 ...
- python里enumerate函数_python中的enumerate函数
enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a 1 b 2 ...
- python函数def里面嵌套def_python 函数嵌套函数_Python中的嵌套函数
python 函数嵌套函数 A nested function is simply a function within another function, and is sometimes calle ...
最新文章
- linux 软件安装基本操作
- SAP RETAIL MM42维护的采购价格,等同于ME11ME12的效果
- 大一计算机课程excel,大学计算机EXCEL讲课ppt课件.ppt
- 一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛,n年后有多少头小牛
- 音频重采样有什么用_最佳音频接口基本购买指南
- python字符串比较大小_Python 比较两个字符串大小
- GO语言打包ICO图标
- mysql bat备份_Windows下简单的Mysql备份BAT脚本分享
- c语言函数 参数,C语言函数的调用与参数
- linux串口编程(termios结构体说明)
- Python 图像处理 OpenCV (12): Roberts 算子、 Prewitt 算子、 Sobel 算子和 Laplacian 算子边缘检测技术
- OutLook设置管理规则和通知
- 手把手教你用移远M26/BC28的 MQTT协议 对接阿里云IoT平台
- 小白必看:IT转行需要注意什么,这几个问题很重要
- java swing开发窗体程序开发(四)MVC结构
- visit 安装说明
- STC大作业创新设计-乒乓游戏改进-代码
- 用迭代算法求非负数num的平方根。
- 文本框 html 哪些属性,html常见标签和属性
- 一次简单的性能优化诊断,聚簇因子过高导致全表扫描。