map,zip,reduce,lambda函数学习笔记
来源:互联网 发布:开发一个软件 编辑:程序博客网 时间:2024/05/16 10:38
上面4个函数,虽然都知道具体的含义,但是有时候很少会想起来用这几个函数。用的恰到好处的话,确实使代码看起来更简洁易懂。 如果有个列表字典dic1 = [{'a':'A'},{'b':'B'},{'d':'D'},{'c':'C'}]想要把这个列表中的字典全部合并的话,可以用以下代码实现
b = dic1[0]for i in range(1,4): b = dict(b,**dic1[i])----------------------------------如果用reduce,map和lambda函数结合就更简洁了dic = {}for i in map(lambda x:dic.update(x),dic1): print(dic)out:{'a': 'A'}{'a': 'A', 'b': 'B'}{'a': 'A', 'b': 'B', 'd': 'D'}{'a': 'A', 'b': 'B', 'd': 'D', 'c': 'C'}如果用reduce就更加简洁,dic = OrderedDict() #如果你想要输出是输入的顺序,字典是无序的,虽然上面的没有有序字典看似也是有序,但是我用不同的ide结果就是不同reduce(lambda x,y:dic.update(y),dic1,{}) #from functools import reduceout :dic = {'a': 'A', 'b': 'B', 'd': 'D', 'c': 'C'}
map(lambda x:dic.update(x),dic1)reduce和map函数接收的参数比较相似,接收一个函数和一个列表(reduce可以有第3个参数作为计算的初始的值,如果没有,就以list中的中的第一个元素作为x)。下面把reduce拆解就能明白了。reduce(lambda x,y:dic.update(y),dic1,{})==>lambda x,y:dic.update(y) 其实就等于def fun(x,y): return dic.update(y),x所以,第一步执行x = {},y = dic1[0]代入到 fun({},dic1[0]) ,dic 就变成 {'a': 'A'},然后在fun(fun({},dic1[0]),dic1[1]),一直计算到最后一个#reduce( func, [1, 2,3] ) = func( func(1, 2), 3)
zip函数一般将2个列表合并
for i in zip([1,2,3],[4,5]):
print(i)
out:
(1, 4)
(2, 5)
0 0
- map,zip,reduce,lambda函数学习笔记
- python的lambda、filter、map、reduce、zip函数
- Python函数式编程-map()、zip()、filter()、reduce()、lambda()
- Python3 zip,lambda,map,reduce的使用
- python几个重要的函数(lambda,filter,reduce,map,zip) 一、匿名函数lambda lambda argument1,argument2,...argumentN :e
- Python函数式编程学习:lambda, map, reduce, filter
- Python函数式编程学习:lambda, map, reduce, filter
- python 的几个内置函数(lambda ,zip, filter, map, reduce )用法
- python 的几个内置函数(lambda ,zip, filter, map, reduce )用法
- python: reduce()函数、lambda函数、map()函数
- Python 中的 map, reduce, zip, filter, lambda基本使用方法
- Python碎片化知识:map,reduce,lambda以及zip
- [Python] 函数lambda(), filter(), map(), reduce()
- [Python] 函数lambda(), filter(), map(), reduce()
- python中的函数:filter/map/reduce/lambda
- python 内置函数filter, lambda, map, reduce
- lambda表达式,结合map、reduce、filter函数
- python函数lambda(), filter(), map(), reduce()
- caffe 计算 conv 图解
- 重邮第八届ACM大赛-决赛题解报告
- ava.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoa
- Leetcode-标签为Tree 235. Lowest Common Ancestor of a Binary Search Tree
- 计算机实验
- map,zip,reduce,lambda函数学习笔记
- 使用ConcurrentLinkedQueue惨痛的教训
- vijos1037 双塔问题
- 信息技术后的下一波技术革命是什么?
- 【BZOJ 4818】【SDOI 2017】序列计数
- 51NOD 1432 独木舟(贪心+递归)
- 佳吉快运城市配送智能调度平台的应用_图文73
- java接发加密文本消息
- memset函数初始化和最短路中的最大值