Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
- Map函数:
原型:map(function, sequence),作用是将一个列表映射到另一个列表,
使用方法:
def f(x):
return x**2
l = range(1,10)
map(f,l)
Out[3]: [1, 4, 9, 16, 25, 36, 49, 64, 81]
- Reduce函数
原型:reduce(function, sequence, startValue),作用是将一个列表归纳为一个输出,
使用方法:
def f2(x,y):
return x+y
reduce(f1,l)
Out[7]: 45
reduce(f2,l,10)
Out[8]: 55
- Filter函数
原型:filter(function, sequence),作用是按照所定义的函数过滤掉列表中的一些元素,
使用方法:
def f2(x):
return x%2 != 0
filter(f2,l)
Out[5]: [1, 3, 5, 7, 9]
记住:这里的function必须返回布尔值。
- Lambda函数
原型:lambda <参数>: 函数体,隐函数,定义一些简单的操作,
使用方法:
f3 = lambda x: x**2
f3(2)
Out[10]: 4
还可以结合map、reduce、filter来使用,如:
map(f3,l)
Out[11]: [1, 4, 9, 16, 25, 36, 49, 64, 81]
- 列表推导式
基本形式:[x for item in sequence <if (conditions)>], 这里x表示对item的操作,
使用方法:
[i**2 for i in l]
Out[12]: [1, 4, 9, 16, 25, 36, 49, 64, 81]
- 字典设置默认值
python字典中设置条目默认值在有些时候非常有用,例如初始化一个字典的时候。
使用方法:
x = {}
x.setdefault(1,0)
Out[15]: 0
x[2] = 10
x
Out[17]: {1: 0, 2: 10}
x.setdefault(2,1)
Out[18]: 10
Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)的更多相关文章
- map/reduce/filter/lambda
Python内建了map()/reduce()/filter()函数. map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的It ...
- [python基础知识]python内置函数map/reduce/filter
python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...
- Python-函数式编程-map reduce filter lambda 三元表达式 闭包
lambda 匿名函数,核心是作为算子,处理逻辑只有一行但具有函数的特性,核心用于函数式编程中 三元运算符 其实本质上是if分支的简化版,满足条件返回 if 前面的值,不满足条件返回 else后面的值 ...
- python3 map,filter和列表推导式
num_list = [11,2,-33,10,7,3,5,43] 1.filter 函数 获取num_list大于5的元素,并返回列表 用lambda表达式实现: # 在python2 中 fil ...
- python day12 ——1.生成器2.生成器表达式 3.列表推导式
一.生成器 什么是生成器. 生成器实质就是迭代器. 在python中有三种方式来获取生成器: 1. 通过生成器函数. 2. 通过各种推导式来实现生成器 . 3. 通过数据的转换也可以获取生成器. 1. ...
- Python函数式编程,map/reduce,filter和sorted
什么是函数式编程? 与面向对象编程(Object-oriented programming)和过程式编程(Procedural programming)并列的编程范式. 最主要的特征是,函数是第一等公 ...
- python内置函数map/reduce/filter
python有几个内置的函数很有意 思:map/filter/reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是python列表方法的三架 ...
- reduce/filter/map/zip/isinstance/list列表推导式
- Python高阶函数_map/reduce/filter函数
本篇将开始介绍python高阶函数map/reduce/filter的用法,更多内容请参考:Python学习指南 map/reduce Python内建了map()和reduce()函数. 如果你读过 ...
- 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
随机推荐
- SPOJ 694 && SPOJ 705 (不重复子串个数:后缀数组)
题意 给定一个字符串,求它的所有不重复子串的个数 思路 一个字符串的子串都必然是它的某个后缀的前缀.对于每一个sa[i]后缀,它的起始位置sa[i],那么它最多能得到该后缀长度个子串(n-sa[i]个 ...
- Linux 策略路由配置
策略路由配置 #编辑rt_tables echo "192 net_192 " >> /etc/iproute2/rt_tables echo "196 ne ...
- ts结合vue使用的感悟
TypeScript 前端现在越来越强大,多人开发更是常见,加上各大框架都开始支持TypeScript,而谷歌和微软又更加积极,导致不得不去学习,顺道通过js来了解ts,再通过ts来了解强类型语言.一 ...
- laravel中Crypt加密方法
使用Crypt::encrypt对数据进行加密,要引入 use Illuminate\Support\Facades\Crypt;; 对使用Crypt::encrypt加密的数据进行解密的方法时:C ...
- [VS]VS快捷键
VS快速跳到某一行:CTRL+G VS鼠标移动到下一个高亮处:Ctrl+Shift+上下箭头 VS转到定义后返回:Ctrl+- VS折叠全部代码:Ctrl.M+Ctrl.O VS代码格式化:Ctrl. ...
- Partition 1 does not start on physical sector boundary.分区信息不正常
[root@v1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 20G 3.3G 16G ...
- gridview 后台增加列
BoundField field1 = null; field1 = new BoundField(); //实例化 field1.HeaderText = "序号";field ...
- c# DataTable行转列
/// <summary> /// datatable行转列 /// </summary> /// <param name="dtSrc">来源 ...
- Laravel 文件夹结构简介
表 1.1:Laravel 文件夹结构简介 文件夹名称 简介 app 应用程序的业务逻辑代码存放文件夹 app/Console 存放自定义 Artisian 命令文件 app/Http/Control ...
- JQ上传预览+存数据库
因为之前老师讲的方法有不少BUG 现在经过完善已经修复 之前老是讲的方法是每一张都会被传到后台文件夹里面去 导致在预览过程中如果刷新页面 那么预览的图片不能从后台文件夹中删除 这个方法实现在本地预览 ...