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

时间: 2024-08-04 15:33:31

Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)的相关文章

[python基础知识]python内置函数map/reduce/filter

python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法)来迭代遍历每个序列中的元素. 返回bool_func结果为true的元素的序列(注意弄清楚序列是什么意思)http://blog.csdn.net/bolike/article/details/19997465序列参考</a> 如果filter参数值为None,list参数中所有为假的元 素都将被

Python-函数式编程-map reduce filter lambda 三元表达式 闭包

lambda 匿名函数,核心是作为算子,处理逻辑只有一行但具有函数的特性,核心用于函数式编程中 三元运算符 其实本质上是if分支的简化版,满足条件返回 if 前面的值,不满足条件返回 else后面的值 # 100 < 100 返回 False, 则 返回 else后面的值 value = 100 if 100 < 100 else 10 print(value) map 映射函数(依次把可迭代对象(可多个)中的值依次传递到函数中,然后返回生成器(长度以最短的为基础)) numbers = [1

python内置函数map/reduce/filter

python有几个内置的函数很有意 思:map/filter/reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是python列表方法的三架马车. filter() 函数:filter 函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. >>>a=[1,2,3,4,5,6,7]>>>b=filter(lambda x:

Python基础篇【第2篇】: Python内置函数--map/reduce/filter/sorted

Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位置使用lambda表达式.在开发者想要使用一个简单函数作为参数或者返回值时,使用lambda表达式是很方便的.总结:处理简单逻辑,自动返回结果 语法格式: lambda parameters: expression 就相当于 def fun(args) return expression 并且lam

Python高阶函数_map/reduce/filter函数

本篇将开始介绍python高阶函数map/reduce/filter的用法,更多内容请参考:Python学习指南 map/reduce Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文"MapReduce: Simplified Data Processing on Large Clusters",你就能大概明白map/reduce的概念. 我们先看map.map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序

(一)Python入门-4控制语句:10推导式创建序列-列表推导式-字典推导式-集合推导式-生成器推导式

推导式创建序列: 推导式是从一个或者多个迭代器快速创建序列的一种方法.它可以将循环和条件判断结合, 从而避免冗长的代码.推导式是典型的Python 风格,会使用它代表你已经超过Python初 学者的水平. 一:列表推导式 列表推导式生成列表对象,语法如下: [表达式 for item in 可迭代对象 ] 或者:{表达式 for item in 可迭代对象 if 条件判断} 1 #列表推导式 2 x = [x for x in range(1,5)] 3 print(x) 4 5 x = [x*

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

python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 函数式编程:是使用一系列函数去解决问题,函数式编程就是根据编程的范式来的出想要的结果,只要是输入时确定的,输出就是确定的. 1.2高阶函数 能把函数作为参数传入,这样的函数就称为高阶函数. 1.2.1函数即变量 以python的内置函数print()为列,调用该函数一下代码 >>> pri

使用python实现内置map,filter,reduce函数

map函数 # -*- coding: cp936 -*- def myselfmap(f,*args):     def urgymap(f,args):         if args==[]:             return []         else:             return [f(args[0])]+urgymap(f,args[1:])     if list(args)[0]==[]:             #*args有多个参数被传递时返回tuple