Python2.7学习笔记-定义函数、filter/map/reduce/lambda
我把写的代码直接贴在下面了,注释的不是很仔细,主要是为了自己复习时方便查找,并不适合没有接触过python的人看,其实我也是初学者。
#定义函数
def my_abs(x):
if x>=0:
return x
else:
return -x
#调用函数
my_abs(-9) #filter/map/reduce/lambda #filter(function,sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple返回。(取决与sequence的类型)
def f(x):
return x%2!=0 and x%5!=0
filter(f,range(1,20)) def f(x):return x!='u'
filter(f,'uhjonu') #map(function, sequence) :对sequence中的item依次执行function(item),执行结果组成一个List返回。
def square(x):return x+x
map(square,range(1,10))
map(square,"abcdef")
#map也支持多个sequence,这就要求function也支持相应数量的参数输入
def plus(x,y):
return x+y
map(plus,range(5),range(5)) #reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用
def plus(x,y):
return x+y
reduce(plus,range(1,10))
reduce(plus,range(1,10),20) #lambda的用法
g=lambda x:x*2
g(8)
我把run出来的结果也贴在下面了,可能软件安装时出了一点问题,结果显示不是很好看,但很容易理解。
def my_abs(x):
... if x>=0:
... return x
... else:
... return -x
...
>>> my_abs(-9)
9>>> >>>
>>> def f(x):
... return x%2!=0 and x%5!=0
...
>>> filter(f,range(1,20))
[>>> 1, 3, 7, 9, 11, 13, 17, 19] >>> def f(x):return x!='u'
...
>>> filter(f,'uhjonu')
'>>> hjon' >>> def square(x):return x+x
...
>>> map(square,range(1,10))
[>>> 2, 4, 6, 8, 10, 12, 14, 16, 18]
map(square,"abcdef")
[>>> 'aa', 'bb', 'cc', 'dd', 'ee', 'ff']
def plus(x,y):
... return x+y
...
>>> map(plus,range(5),range(5))
[>>> 0, 2, 4, 6, 8] >>> def plus(x,y):
... return x+y
...
>>> reduce(plus,range(1,10))
4>>> 5
reduce(plus,range(1,10),20)
6>>> 5 >>> g=lambda x:x*2
>>> g(8)
1>> >6
Python2.7学习笔记-定义函数、filter/map/reduce/lambda的更多相关文章
- 高阶函数 filter map reduce
const app=new Vue({ el:'#app', data:{ books:[{ id:1, name:"算法导论", data: '2006-1', price:39 ...
- filter,map,reduce,lambda(python3)
1.filter filter(function,sequence) 对sequence中的item依次执行function(item),将执行的结果为True(符合函数判断)的item组成一个lis ...
- Python内置函数filter, map, reduce
filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...
- python关于list的三个内置函数filter(), map(), reduce()
''' Python --version :Python 2.7.11 Quote : https://docs.python.org/2/tutorial/datastructures.html#m ...
- Python 内置函数&filter()&map()&reduce()&sorted()
常用内置函数 Python 2.x 返回列表,Python 3.x 返回迭代器 在进行筛选或映射时,输出的结果是一个数组,需要list帮助. 如:print(list(map(lambda x:x+1 ...
- Python中特殊函数和表达式 filter,map,reduce,lambda
1. filter 官方解释:filter(function or None, sequence) -> list, tuple, or string Return those items of ...
- Python中 filter | map | reduce | lambda的用法
1.filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tupl ...
- python: filter, map, reduce, lambda
filter built-in function filter(f,sequence) filter can apply the function f to each element of seque ...
- Python学习(五)函数 —— 内置函数 lambda filter map reduce
Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.fil ...
随机推荐
- Outlook 2013 电子邮件账户设置备份与恢复
与之前版本不同,Outlook 2013需要备份以下注册表内容:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles恢复时 ...
- bzoj2120: 数颜色 &&bzoj2453: 维护队列
题目大意: 你小时候玩过弹珠吗? 小朋友A有一些弹珠,A喜欢把它们排成队列,从左到右编号为1到N.为了整个队列鲜艳美观,小朋友想知道某一段连续弹珠中,不同颜色的弹珠有多少.当然,A有时候会依据个人喜好 ...
- eclipse中创建类和方法自动注释
<?xml version="1.0" encoding="UTF-8"?><templates><template autoin ...
- APP IM 之 XMPP和Jabber及选择方案
1. 概述 IM ,InstantMessaging,即时通信. 现在,市面上有一批提供即时通信功能的公司.如:全时.云之讯(IM无语音和视频).容联云通讯(支持点对点音视频,按照消息的存储空间收费) ...
- 因子分析&主成分分析
因子分析和主成分分析的异同点: 1.主成分分析仅仅是一种数据变换而不假设数据矩阵有什么样的结构形式 因子分析假定数据有特定的模型,而且齐总的因子满足特定的条件 2.因子分析和主成分分析都是从相关矩阵出 ...
- 关于网页显示乱码问题的一些个人见解(PHP、JSP...)
最近做项目,遇到了一些网页显示乱码的情况,在网上查了很多资料都没有给一个全面的准确的答案,自己摸索了一下经过对比开发环境(我使用的是Myeclipse)编辑器的编码和浏览器默认显示的编码发现,在字符编 ...
- 贴一份用delphi修改注册表改网卡MAC地址的代码
//提示:此代码需要use Registry, Common; function WriteMAC(model:integer):integer; var reg:TRegistry; begin r ...
- android 获取日期
*/ public static HashMap<String, String> computeDate(){ Calendar cal =Calendar.getInstance(); ...
- removeEventListener('2016');
2016----最后一天工作日要快结束了,趁剩下的一点时间写篇博客玩玩,想到啥就写啥.总结下来就一句---累并快乐着... 先祝大家新年快乐!万事如意发大财. 一年跳了三家公司,上半年在家小公司干着整 ...
- Node v0.12.5 稳定版发布
Node v0.12.5 稳定版发布了,该版本改进记录主要包括: openssl: upgrade to 1.0.1o (Addressing multiple CVEs) npm: upgrade ...