Python入门教程:内置函数—Map、Reduce、Filter

简介: Python入门教程:内置函数—Map、Reduce、Filter

Python入门教程:内置函数 — Map、Reduce、Filter

1. map

根据提供的函数对指定序列做映射,第一个参数function以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的迭代器
map(function, iterable, ...)

function:函数
iterable:一个或多个序列

def square(x) : # 计算平方数
... return x ** 2

...

map(square, [1,2,3,4,5]) # 计算列表各个元素的平方

[1, 4, 9, 16, 25]

map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数

[1, 4, 9, 16, 25]

提供了两个列表,对相同位置的列表数据进行相加

map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

[3, 7, 11, 15, 19]
screenshot

2. reduce

对参数序列中元素进行累积,函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用function函数运算,最后得到一个结果。
reduce(function, iterable[, initializer])

function:函数,有两个参数
iterable:可迭代对象
initializer:可选,初始参数

def add(x, y) : # 两数相加

... return x + y
...

reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5

15

reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数

15

实现阶乘函数

reduce(lambda x, y: x * y, range(1, num))

  1. filter

用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象
filter(function, iterable)

function:判断函数。
iterable:可迭代对象。

过滤出列表中的所有奇数:

!/usr/bin/python3

def is_odd(n):
return n % 2 == 1

tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)
更多的Python入门教程也会继续给大家更新!

相关文章
|
12天前
|
Python
python 函数
【9月更文挑战第4天】python 函数
33 5
|
18天前
|
Python
Python 中 help() 和 dir() 函数的用法
【8月更文挑战第29天】
18 5
|
19天前
|
Python
12类常用的Python函数
12类常用的Python函数
|
18天前
|
Python
Python eval()函数的使用
Python eval()函数的使用
15 1
|
12天前
|
数据采集 自然语言处理 数据挖掘
python查询汉字函数
简洁、高效、易懂的代码对于提高开发效率与项目质量至关重要,并且对于维持代码的可读性和可维护性也有着很大帮助。选择正确的工具和方法可以大幅提升处理中文数据的效率。在编写用户定义函数时,明确函数的功能与返回值类型对于函数的复用和调试也同样重要。当涉及到复杂的文本处理或数据分析时,不宜过分依赖单一的工具或方法,而应根据具体需求灵活选择和组合不同的技术手段。
20 0
WK
|
13天前
|
图计算 开发者 Python
python中的函数有哪些用途
Python中的函数具有多种用途,它们极大地增强了代码的复用性、可读性和可维护性。
WK
9 0
|
18天前
|
Python
Python 中的 Lambda 函数是什么?
【8月更文挑战第29天】
8 0
|
3月前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
|
1月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
26天前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。