Python day11 filter函数筛选数据,reduce函数压缩数据的源码详解
1.filter滤波器函数
定义一个数组,需求:过滤出带ii的字符串
arr=['dsdsdii','qqwe','pppdiimmm','sdsa','sshucsii','iisdsa'] def filter_ii(n):
return 'ii' in n def filter_test(func,array):
ret=[]
for i in array:
if not func(i):#注意内置函数没有not
ret.append(i)
return ret print(list(filter_test(filter_ii,arr)))
#则filter_test为万用滤波器
#example
print(list(filter(lambda n:not 'ii' in n,arr)))
2.reduce函数(在python3中集成在functools中,必须导入)
#example需求:列表中各数字相乘,可以有初始数字
li=[]
i=1
while (i!=101):
li.append(i)
i=i+1
#上面操作是建立一个数字1~100的数组
#下面开始写reduce的代码
def reduce_test(fun,arr,init=None):
if (init==None):inintion= arr.pop()
else: inintion=init
for i in arr:
inintion=fun(i,inintion)
return inintion fun=lambda x,y:x*y
print(reduce_test(fun,li,1))
print(reduce_test(fun,[2,3],4)) #内置reduce函数的用法
from functools import reduce
num_1=[1,2,3,100]
print(reduce(lambda x,y:x+y,num_1,1))
3.map filter reduce的区别(与big data中加工,压缩数据类似)
1.map进去与出来的列表大小是一样的,加工数据
2.filter是筛选列表,筛选数据
3.reduce是将一个列表变成一个值,压缩数据
Python day11 filter函数筛选数据,reduce函数压缩数据的源码详解的更多相关文章
- Python之filter、map、reduce函数
简介三函数: 高阶函数:一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数. filter.map.reduce三个函数都是高阶函数,且语法都一致:filter/map/reduce(func ...
- node源码详解(四) —— js代码如何调用C++的函数
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource4 本博客同步在https://cnodejs.o ...
- node源码详解(五) —— 在main函数之前 —— js和C++的边界,process.binding
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource5 本博客同步在https://cnodejs.o ...
- Python逆向(四)—— Python内置模块dis.py源码详解
一.前言 上一节我们对Python编译及反汇编做了讲解,大家知道dis模块可以将编译好的pyc文件中提取出来的PyCodeObject反汇编为可以阅读字节码形式.本节我们对dis模块中的源码进行详细的 ...
- selenium+python自动化94-行为事件(ActionChains)源码详解
ActionChains简介 actionchains是selenium里面专门处理鼠标相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互. 这对于做更复杂的动作非常有用,比如悬停 ...
- python 内建函数 filter,map和reduce
python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用. ...
- python中filter、map、reduce的区别
python中有一些非常有趣的函数,今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,map,reduce为内 ...
- 一个 Map 函数、一个 Reduce 函数和一个 main 函数
MapReduce 最简单的 MapReduce应用程序至少包含 3 个部分:一个 Map 函数.一个 Reduce 函数和一个 main 函数.main 函数将作业控制和文件输入/输出结合起来.在这 ...
- 如何用R来处理数据表的长宽转换(图文详解)
不多说,直接上干货! 很多地方都需用到这个知识点,比如Tableau里. 通常可以采取如python 和 r来作为数据处理的前期. Tableau学习系列之Tableau如何通过数据透视表方式读取 ...
随机推荐
- js数组之可变函数
在js的数组中有两个方法为数组添加元素:1.push();2.unshift(),push函数是将元素添加到数组的末尾,现在不用说大家估计也能猜出来,unshift这个函数就是把元素添加到数组的开头的 ...
- python利用WMI监控windows状态如CPU、内存、硬盘
安装pywin32库 下载地址: https://sourceforge.net/projects/pywin32/files%2Fpywin32/选择对应python版本的文件.下载后在window ...
- Python 成对处理数据 zip()
当你想成对处理数据的时候zip() 函数是很有用的.比如,假设你头列表和一个值列表,就像下面这样: headers = ['name', 'shares', 'price'] values = ['A ...
- python练习-生成一个1到50的大字符串每个数字之间有个空格
#-*-encoding:UTF-8-*- string=[] for i in range(1,51): string.append(str(i)) print string#打印一下string ...
- MySQL Crash Course #17# Chapter 25. 触发器(Trigger)
推荐看这篇mysql 利用触发器(Trigger)让代码更简单 以及 23.3.1 Trigger Syntax and Examples 感觉有点像 Spring 里的 AOP 我们为什么需要触发器 ...
- SQL学习之MYSQL的常用命令和增删改查语句和数据类型
连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...
- Jsoup简介
Jsoup简介 一.概述 Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来 ...
- 20145312 《网络对抗》 Web安全基础实践
20145312 <网络对抗> Web安全基础实践 问题回答 SQL注入攻击原理,如何防御 原理:攻击者在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,把SQL语句当做 ...
- 20135234mqy-——信息安全系统设计基础第十一周学习总结
第八章 异常控制流 8.1异常 异常是异常控制流的一种形式,它一部分是由硬件实现的,一部分是由操作系统实现的. 异常就是控制流中的突变,用来响应处理器状态中的某些变化. 8.1.1异常处理 异常号是到 ...
- 自定义鼠标右键(层叠式菜单:cascading menu)(文件系统右键、文件夹系统右键和桌面鼠标右键)
转载:http://www.cnblogs.com/killerlegend/p/3575391.html 转载:http://www.cnblogs.com/shouce/p/5101001.htm ...