Python中map,filter,reduce,zip的应用
事例1:
l=[('main', 'router_115.236.xx.xx', [{'abc': 1}, {'dfg': 1}]),
('main', 'router_183.61.xx.xx', [{'abc': 0}, {'dfg': 1}]),
('main', 'router_52.11.xx.xx', [{'abc': 0}, {'dfg': 1}]),
('main', 'router_183.17.xx.xx', [{'abc': 1}, {'dfg': 1}])
]
检查参数l列表中所有item的第二项([{'abc': 1}, {'dfg': 1}])是否相等
for的做法
a=l[0][2]
flag=1
for i in l:
if a==i[2]:
continue
else:
flag=0
break
高级的做法:
a=map(lambda x:x[2],l)
r=reduce(lambda x,y:x if x==y else False,a)
事例2:
a=[{'a':1},{'b':11},{'c':12},{'d':11}]
b=[{'e':14},{'f':17},{'g':18},{'h':41}]
把所以数据合并成一个字典
一般的做法:
a=a+b
c={}
for i in a:
c.update(i)
print c
高级的做法
def _func(x,y):
x.update(y)
return x
c=reduce(_func,a)
事例3:
取出一个列表中重复的元素
a = [1,2,3,4,4,5,5,6,9]
b=filter(lambda x:True if a.count(x)>1 else False,a)
c=list(set(b))
输出结果为 [4,5]
Python中map,filter,reduce,zip的应用的更多相关文章
- 【转】Python 中map、reduce、filter函数
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
- python常用函数进阶(2)之map,filter,reduce,zip
Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...
- Python面试题之Python中的lambda map filter reduce zip
当年龟叔想把上面列出来的这些都干掉.在 “All Things Pythonic: The fate of reduce() in Python 3000”这篇文章中,他给出了自己要移除lambda. ...
- Python中Lambda, filter, reduce and map 的区别
Lambda, filter, reduce and map Lambda Operator Some like it, others hate it and many are afraid of t ...
- python中map()和reduce()的使用
map() 会根据提供的函数对指定序列做映射.map(function, iterable, ...)Python 3.x 返回迭代器.print(map()) 返回迭代器地址一般和list一起用 才 ...
- Python中map和reduce函数??
①从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce() ...
- python中map、reduce函数
map函数: 接受一个函数 f 和一个 list .格式:map( f , L),对L中的每个元素,进行f(x)的一个操作. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] ...
- Python中map和reduce函数
①从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce() ...
- Python函数式编程中map()、reduce()和filter()函数的用法
Python中map().reduce()和filter()三个函数均是应用于序列的内置函数,分别对序列进行遍历.递归计算以及过滤操作.这三个内置函数在实际使用过程中常常和“行内函数”lambda函数 ...
随机推荐
- insert erase和replace的例子
9.43 编写一个函数,接受三个string参数s.oldVal和newVal.使用迭代器及insert和erase函数将s中所有oldval替换为newVal.测试程序,用它替换通用的简写形式,如, ...
- 文件I/O之ioctl函数
ioctl函数是I/O操作的杂物箱.不能用其他函数表示的I/O操作通常都能用ioctl表示.终端I/O是ioctl的最大使用方面. ioctl函数通过对文件描述符发送特定的命令来控制文件描述符所代表的 ...
- Android模拟器avd的创建、使用和调试相关命令
1.创建AVD命令:android-sdk-windows\tools目录下面有android命令 android list 列出当前系统中已安装的Android版本以及已安装的AVD(Androi ...
- 导入MyEclipse项目乱码
1.右键项目属性→text file encoding →修改为UTF-8,即可自动变成正常的.
- linux 命令学习日记 20160621
1.cat /proc/meminfo 观察Linux系统上虚拟内存的当前状态 2.ipcs -m ipcs命令专门用来查看系统上的当前共享内存页面 3.ls /dev -al sda* ttyS* ...
- android百度地图定位开发
一.activity import android.app.Activity; import android.graphics.Point;import android.graphics.PointF ...
- iptables配置说明
1.iptables的发展: 对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测.iptables是网络层的防火墙. iptables的前身叫 ...
- setTimeout和setImmediate以及process.nextTick的区别
在javascript中我们了解到了setTimeout和setInterVal函数事件队列(任务队列)的相关知识,除了setTimeout和setInterval这两个方法外,Node.js还提供了 ...
- C#总结2
第三章 对于继承:继承是根据父类创建新子类的过程: 对于继承:例: Public class Father { public void say() { //dosomething } } Pu ...
- 关于struts2的上传和下载
1. 1文件上传技术: JSPSmartUpload:应用在Model1年代.(嵌入到JSP) FileUpload:应用在Model2年代. Servlet3.o:完成文件上传. Struts2框架 ...