原创转载请注明出处:http://agilestyle.iteye.com/blog/2330300
map()
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
使用map实现一个f(x) = x * x的功能
def f(x): return x * x m = map(f, list(range(1, 10))) # [1, 4, 9, 16, 25, 36, 49, 64, 81] print(list(m))
另外可以使用lambda函数简化
# [1, 4, 9, 16, 25, 36, 49, 64, 81] print(list(map(lambda x: x * x, list(range(1, 10)))))
Console Output
Note:
可以看出
lambda x: x * x
实际上就是:
def f(x): return x * x
把list中的所有数字转为字符串
# ['1', '2', '3', '4', '5', '6', '7', '8', '9'] print(list(map(str, list(range(1, 10)))))
Console Output
reduce()
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
使用reduce对一个序列求和
from functools import reduce def add(x, y): return x + y # 55 print(reduce(add, list(range(1, 11)))) # 55 print(reduce(lambda x, y: x + y, list(range(1, 11))))
Console Output
把序列[1, 2, 3, 4, 5, 6, 7, 8, 9]变换成整数123456789
from functools import reduce def fn(x, y): return x * 10 + y # 123456789 print(reduce(fn, list(range(1, 10)))) # 123456789 print(reduce(lambda x, y: x * 10 + y, list(range(1, 10))))
Console Output
map()和reduce()整合,把str转换位int
from functools import reduce def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] # '13579' => 13579 print(reduce(fn, map(char2num, '13579'))) # '13579' => 13579 print(reduce(lambda x, y: x * 10 + y, map(char2num, '13579'))) def str2int(s): def fn(x, y): return x * 10 + y def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] return reduce(fn, map(char2num, s)) print(str2int('13579'))
Console Output
参考资料:
相关推荐
### Python Lambda匿名函数详解 #### 一、Lambda函数概述 在Python编程语言中,`lambda`函数是一种特殊类型的函数,通常用于定义简单的、一次性使用的功能。`lambda`函数的主要特点在于它无需像普通函数那样显式...
主要介绍了Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法,结合实例形式分析了Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数相关功能、原理与使用技巧,需要的...
### Python匿名函数(Lambda函数)详解 #### 一、Lambda函数简介 在Python编程语言中,**lambda函数**是一种简洁的、定义简单的匿名函数形式。它不像常规的使用`def`关键字定义的函数那样需要显式的命名,而是直接...
Python之匿名函数是编程语言Python中的一个重要特性,它允许我们在不需要定义一个完整函数的情况下,使用一次性、简洁的代码块来执行特定任务。这种函数在Python中被称为lambda函数,源自Lambda演算,它体现了函数式...
Lambda表达式是一种简洁的创建匿名函数的方式。它的语法形式如下: ```python lambda [arg1, arg2, ..., argn]: expression ``` 这里的`arg1, arg2, ..., argn`是函数的参数,`expression`是函数体,只能是一条...
在Python编程语言中,匿名函数、`map()`、`reduce()`和`filter()`函数是非常重要的概念,特别是对于初学者来说,理解这些函数的用途和用法对于提升编程能力至关重要。 匿名函数,通常以`lambda`关键字定义,它是一...
这些构造包括`filter()`, `map()`, `reduce()`, 以及`lambda`函数。下面我们将逐一深入理解这些概念,并通过示例来阐述它们的用法。 1. **filter(function, sequence)**: 这个函数用于对序列(如列表、元组或字符串...
Python中的匿名函数是通过`lambda`关键字来定义的,因此也被称为`lambda`函数。内联函数则指的是在一行代码内定义的函数,通常与`lambda`函数的概念相吻合,因为它们都强调简洁性。 ### `lambda`函数的基本语法 `...
Python还支持匿名函数,也称为lambda表达式。lambda表达式是一种小型匿名函数,通常用于创建简单的函数。lambda表达式的基本语法如下: ```python lambda 参数: 表达式 ``` 使用lambda表达式时,通常会利用Python...
在本教程“python自学教程-26-lambda参数之无参数.ev4”中,我们将深入探讨Python中的lambda函数,这是一种简洁的、用于创建一次性使用的匿名函数的关键字。 lambda函数是Python中的一种快捷方式,它允许我们在一行...
在Python中,可以使用lambda关键字创建匿名函数。在需要一个函数但是又不想正式定义时,可以使用lambda函数。例如,使用lambda函数作为sorted函数的key参数,可以非常简洁地实现根据单词长度进行排序的需求。 匿名...
在Python编程语言中,匿名函数是一种特殊的函数定义方式,它不需要使用`def`关键字来创建。这种函数通常被称为lambda函数,因为它们是通过`lambda`关键字来定义的。Lambda函数在处理简短、一次性使用的功能时非常...
在这个名为"python之匿名函数、面向对象.zip"的压缩包中,我们主要探讨的是Python中的两个核心概念:匿名函数(lambda函数)和面向对象编程。 首先,让我们深入了解Python的匿名函数,也称为lambda函数。在Python中...
Python的`lambda`表达式是一种简洁的创建匿名函数的方式。匿名函数意味着它没有具体的名称,而是通过其定义的表达式来引用。`lambda`函数通常用于编写简单的、一次性使用的函数,特别适用于那些在逻辑上不需要定义一...
此外,Python还提供了一种特殊的高阶函数——匿名函数,也称为lambda函数。它是一种简化的、快速定义单行函数的方式,通常用于临时性操作。例如: ```python square = lambda x: x ** 2 print(square(5)) # 输出:...
匿名函数,也称为lambda函数,是Python编程语言中一种简洁的定义小型函数的方式。它无需使用常规的`def`关键字来定义,而是通过`lambda`关键字来创建。lambda函数的特性在于其简洁性,通常用于编写一次性、临时性的...
Python的lambda函数是一种简洁的创建小型匿名函数的方式。在Python编程语言中,lambda函数主要用于创建简单的、一次性使用的函数,它们通常在需要一个简短的、快速定义的函数时发挥作用,而不需要编写完整的`def`...
2. 函数式构造:Python允许使用lambda表达式创建匿名函数,这种简洁的语法受到LISP的启发。lambda函数通常用于临时定义短小的、一次性使用的函数。 ```python # 使用lambda表达式定义一个加法函数 add = lambda x, ...