python Lambda, filter, reduce and map
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python Lambda, filter, reduce and map,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1333字,纯文字阅读大概需要2分钟。
内容图文
python Lambda, filter, reduce and map
1. lambda
The lambda operator or lambda function is a way to create small anonymous functions , i.e. functions without a name.
可以方便的创造一个函数。比如
1
2
3
|
def add(x,y):
return x + y |
用lambda 写就是
1
|
lambda x,y:x + y |
非常简洁。这条语句会返回一个函数指针,你可以他赋值,或者配合map ,reduce 等操作。
比如说想把list [1,2,3,4,5]的每个值的乘2,返回一个list .
2. map
lambda配合map用是最方便的了。
r = map(func, seq)
map接收一个func 指针,然后把函数作用到seq的每个成员上。
接上面的例子就是 :
1
|
map
(
lambda x:x * 2 ,[ 1 , 2 , 3 , 4 , 5 ]) >>>[
2
,
4
,
6
,
8
,
10
]
|
3. Filtering
和map 类似 ,只不过他是过滤list,也接受一个func的lambda 表达式,然后如果表达式为真就过滤掉。
filter(function, list)
1
2
3
|
fib
= [ 0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 ] filter
(
lambda x: x % 2 , fib) [
1
,
1
,
3
,
5
,
13
,
21
,
55
]
|
直接过滤掉偶数的项。
比如说我只要>20的数据
1
|
filter
(
lambda a : a> 20 ,fib) |
分分钟过滤!
4.Reducing
The function reduce(func, seq) continually applies the function func() to the sequence seq. It returns a single value.
If seq = [ s1, s2, s3, ... , sn ], calling reduce(func, seq) works like this:
[ func(s1, s2), s3, ... , sn ]
[ func(func(s1, s2),s3), ... , sn ]
持续对list 进行func的操作,最终结果是产生一个数值!
1
2
|
reduce
(
lambda x,y: x + y, [ 47 , 11 , 42 , 13 ]) 113
|
比如说这个,依次对47,11 进行相加, 变成 [58,42,13]
然后再相加 [100,13]
113
原文:http://www.cnblogs.com/iathena/p/9d8e31ae3ca892ba1ed77213e0245947.html
内容总结
以上是互联网集市为您收集整理的python Lambda, filter, reduce and map全部内容,希望文章能够帮你解决python Lambda, filter, reduce and map所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。