python:filter、lambda和map、reduce
来源:互联网 发布:68.168.16.158现在域名 编辑:程序博客网 时间:2024/05/19 12:39
小问题:去除列表mylist=['A','B','','C',None,'D']中的空字符
暴力解决:
for item in mylist: if item=="" or item==None: del item委婉解决:filter+lambda
newlist = list(filter(lambda x: x, mylist))最佳解决: filter+ not_empty
newlist = list(filter(not_empty, mylist))
小知识:map、reduce、filter
map()可以对多个序列的每个元素都执行相同的操作,并组成列表返回,声明如下:
map(func, sequence[, sequence,...]) -> list
4.1 参数func是自定义的函数,实现对序列每个元素的操作
4.2 参数sequence为待处理的序列,可以有多个序列
4.3 map()的返回值是对序列元素处理后的列表
a = [1, 2, 3, 4, 5]
def foo(x):
return 3 * x
map(foo, a) #[3, 6, 9, 12, 15]
题目:求下列函数的输出
from functools import reducedef fn(x, y):return x*10+yr = reduce(fn, [1,2,3,4])print(r)python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。
1*10+2=12
12*10+3=123
123*10+4=1234
最终结果:1234
filter()可以对某个序列做过滤处理,对自定义函数的参数返回的结果是否为“真”来过滤,并一次性返回处理结果。
声明如下:
filter(func or None, sequence) -> list, tuple, or string
2.1 参数func是自定义的过滤函数,在函数func(item)中定义过滤的规则。如果func为None,则过滤项都为真,返回所有的序列元素。
2.2 参数sequence为待处理的序列
2.3 filter()的返回值是由func()的返回值组成的序列,返回的类型与参数sequence的类型相同
2.4 filter()的过滤函数func()的参数不能为空
filter函数以一个函数和序列作为参数,它返回该序列的子集,其中子集的成员能满足函数的条件。
如果filter以None作为第一个参数,它将过滤掉序列中所有假值
- python:filter、lambda和map、reduce
- python filter lambda reduce map
- Python: lambda, map, reduce, filter
- Python filter、map、reduce、lambda
- Python:lambda、map、filter、reduce
- filter、map、reduce、lambda(Python)
- Python特殊语法:filter、map、reduce、lambda
- Python 特殊语法filter、map、reduce、lambda
- [Python] 函数lambda(), filter(), map(), reduce()
- [Python] 函数lambda(), filter(), map(), reduce()
- Python特殊语法:filter、map、reduce、lambda
- Python特殊语法:filter、map、reduce、lambda
- Python特殊语法:filter、map、reduce、lambda
- Python特殊语法:filter、map、reduce、lambda
- Python特殊语法:filter、map、reduce、lambda
- python特殊用法:filter map reduce lambda
- Python特殊语法:filter、map、reduce、lambda
- Python特殊语法:filter、map、reduce、lambda
- FTPClient
- 蓝懿教育 内存管理及UI初体验
- 专业术语:显示参数和隐式参数
- 顺时针打印矩阵
- 1013. Battle Over Cities (25)
- python:filter、lambda和map、reduce
- Memcached之——Spring与Memcached的集成
- hdu 5326 Work
- IOS之C语言 (二路归并与冒泡排序)
- 深入理解Java的接口和抽象类
- 生活点滴
- HDU 5428 The Factor——BestCoder Round #54(div.1 div.2)
- 【LeetCode】之Valid Palindrome
- 调试rust的宏