map/fileter
一、生成器,generator,节省内存,但是增加了CPU的计算时间
(下节课讲函数怎么变成生成器)
每次循环的时候,就按照这个规则(自己定义的逻辑)去生成一个数据。
res = [ 'a','1' ]
只有在每次循环的时候,才按照这个规则去生成数据。
all = (i for i in range(5))
print(all)# generator生成器
附:列表生成式
num = [str(i).zfill(2) for i in range(10)]# list
nums = ( str(i).zfill(2) for i in range(10) )# 生成器,外层为[],则为列表生成式,外层为(),则为生成器
print(nums)
for n in nums:
print(n)
二、map,循环调用函数
def makir(dir_name):
if not os.path.isdir(dir_name):
os.mkdir(dir_name)
return True dir_names = ['dir1','dir2','dir3'] # list(map(makir,dir_names))# 循环帮你调用函数
三、filter,过滤
# 过滤,它把函数处理结果为假的数据过滤掉
# 只保留函数返回真的数据
def my(num):
if num%2==0:
return True
res = list( filter(my, range(10) ))# 过滤,它把函数处理结果为假的数据过滤掉
res2 = list( map( my,range(10) ) )# 不管返回什么,都拿到全部结果
print('filter...res',res)
# 运行结果:filter...res [0, 2, 4, 6, 8]
print('map...res2',res2)
# 运行结果:map...res2 [True, None, True, None, True, None, True, None, True, None]
map/fileter的更多相关文章
- Python基础篇【第2篇】: Python内置函数(一)
Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...
- python基础--内置函数filter,reduce
movie_people=["sb+_alex","sb_wupeiqi","han"] # def filter_test(array): ...
- 匿名函数 python内置方法(max/min/filter/map/sorted/reduce)面向过程编程
目录 函数进阶三 1. 匿名函数 1. 什么是匿名函数 2. 匿名函数的语法 3. 能和匿名函数联用的一些方法 2. python解释器内置方法 3. 异常处理 面向过程编程 函数进阶三 1. 匿名函 ...
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
随机推荐
- 进程之 Process join方法其他属性与进程Queue
Process join方法 以及其他属性 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一:在主进程的任务与子进程的任务彼此独立的情 ...
- Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!
三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写:16进制 标志:BH为后缀或是0x为前缀hex() 转成16进制 元组 跟列表是 ...
- MSBuild最佳实践
http://stackoverflow.com/questions/3097489/how-to-publish-web-with-msbuild ref: http://msdn.microsof ...
- python's thirty-first day for me re模块
正则表达式: re 模块 可以读懂 你写的正则表达式,根据你写的表达式去执行任务. 正则表达式:字符串的操作. 使用一些规则来检测字符串是否符合我的要求 —— 表单验证 从一段字符串中找到符合我要 ...
- Linux下安装配置MySQL5.7服务器
Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...
- libevent源码深度剖析七
libevent源码深度剖析七 ——事件主循环 张亮 现在我们已经初步了解了libevent的Reactor组件——event_base和事件管理框架,接下来就是libevent事件处理的中心部分 — ...
- conda create -n AlphaPose2018 python=2.7
conda create -n AlphaPose2018 python=2.7Solving environment: done ==> WARNING: A newer version of ...
- Java 基于quartz实现定时 之二(XML方式配置)
<!-- 在spring核心配置文件中进行如下配置 --> <!-- Spring基于quartz定时任务 --> <bean id="triggerByBea ...
- C/C++代码覆盖率工具gcov、lcov
gcov是一个可用于C/C++的代码覆盖工具,是gcc的内建工具.下面介绍一下如何利用gcov来收集代码覆盖信息. 想要用gcov收集代码覆盖信息,需要在gcc编译代码的时候加上这2个选项 “-fpr ...
- blockchain notes
1. IBM blockchain platform https://www.ibm.com/blockchain/platform/ 2. 开源项目hyperledger https://hyper ...