[python] Python map函数总结
Python map函数总结
本文主要介绍如何使用Python(Python3版本)的内置map()函数。简单来说map()函数会将指定的函数依次作用于某个序列的每个元素,并返回一个迭代器对象。map语法如下,其中function表示我们指定的函数,iterable表示要作用的序列,这个序列可以是一个也可以是多个。
map(function, iterable, ...)
下面实例具体介绍map()的使用方法。关于map函数的更多使用介绍见本文参考部分。
1 使用
1.1 基础示例
应用map()在整数列表上
# 定义一个函数
def square(x):
return x**2
# 序列
nums = [1, 2, 3, 4, 5]
# 对nums序列每个数求平方,返回迭代器
nums_squared = map(square, nums)
# 输出结果
for num in nums_squared:
print(num)
1
4
9
16
25
如果要实现和以上map函数同等功能,需要自定义函数,例子如下,
# 定义一个函数
def square(x):
return x * x
# 序列
def mymap(func, iterable):
for i in iterable:
yield func(i)
nums = [1, 2, 3, 4, 5]
# 对nums序列每个数求平方,返回迭代器
nums_squared = mymap(square, nums)
for num in nums_squared:
print(num)
1
4
9
16
25
当然我们也可以将上面例子中的square函数用lambda代码,例子如下:
nums = [1, 2, 3, 4, 5]
nums_squared = map(lambda x: x*x, nums)
for num in nums_squared:
print(num)
1
4
9
16
25
1.2 具有多个可迭代对象的 Python 映射
我们可以将多个可迭代对象传递给map()函数,然后map函数将这两个迭代对象传入指定的函数。注意map函数必须采用与可迭代对象一样多的参数,具体如下所示:
# 定义一个函数
# 该函数必须采用两个参数,因为有两个可迭代对象传递给map()
def multiply(x, y):
return x * y
# 序列1
nums1 = [1, 2, 3, 4, 5]
# 序列2
nums2 = [6, 7, 8, 9, 10]
# 每次从nums1和nums2中取值
mult = map(multiply, nums1, nums2)
for num in mult:
print(num)
6
14
24
36
50
1.3 Python映射多个函数
在以下示例中,我们将展示如何在 Python中使用map()映射多个函数。我们遍历for循环中的元素。在每个循环中,我们创建一个包含两个值的列表,这些结果是通过对传入参数应用add()和square()函数来计算的。
# 函数1
def add(x):
return x + x
# 函数2
def square(x):
return x * x
# 数据
nums = [1, 2, 3, 4, 5]
# 逐个取数处理
for i in nums:
# lambda为处理函数,分别将add和square传给lambda
vals = list(map(lambda x: x(i), (add, square)))
print(vals)
[2, 1]
[4, 4]
[6, 9]
[8, 16]
[10, 25]
1.4 基于列表推导实现map函数
Python的map()也可以通过Python列表推导来实现。
# 定义函数
def square(x):
return x * x
nums = [1, 2, 3, 4, 5]
# 列表推导式相当于每次从nums中取一个数放入square中
nums_squared = [square(num) for num in nums]
for num in nums_squared:
print(num)
1
4
9
16
25
2 参考
[python] Python map函数总结的更多相关文章
- python的map()函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2 ...
- Python中map()函数浅析
MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, .. ...
- Python中map函数
1.简介 python 提供内置函数map(), 接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回.例如: (1)对于list [1, 2 ...
- python的map函数和reduce函数(转)
map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例 ...
- python中map()函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. map()是 Python 内 ...
- python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)
1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[] for n in num: a.append(n**2) print (a) C:\python ...
- python 3 map函数用法
公式 f是定义的函数,l是你的list,所有功能都在f函数里完成, map(f,l) 有些网址爬虫出来的链接是一部分,省略了前端通用的,这时我们需要补充进去, 这时就用到了map函数,批量补充网址, ...
- python中map()函数的用法讲解
map函数的原型是map(function, iterable, -),它的返回结果是一个列表. 参数function传的是一个函数名,可以是python内置的,也可以是自定义的. 参数iterabl ...
- python:map 函数
map(func, *iterables) --> map object map()是 Python 内置的高阶函数,它接收一个函数 func 和一个 list(*iterables),并通过把 ...
- python之Map函数
# map()函数使用举例 # 功能:map()接受一个函数f和一个或多个list,将f依次作用在list的每个元素,得到一个新的列表 # 语法:map(方法名,列表,[列表2]) # 注意:map( ...
随机推荐
- 插件化编程之WebAPI统一返回模型
WebApi返回数据我们一般包裹在一个公共的模型下面的,而不是直接返回最终数据,在返回参数中,显示出当前请求的时间戳,是否请求成功,如果错误那么错误的消息是什么,状态码(根据业务定义的值)等等.我们常 ...
- windows下利用_popen,_wpoen创建管道进行系统命令输出数据
转载: https://blog.csdn.net/greless/article/details/72383762 参考: http://www.linuxidc.com/Linux/2011-04 ...
- java常用注解校验参数
validation中内置的constraints 注解 描述 @AssertFalse 所注解的元素必须是Boolean类型,且值为false @AssertTrue 所注解的元素必须是Boolea ...
- 一篇文章带你了解热门版本控制系统——Git
一篇文章带你了解热门版本控制系统--Git 这篇文章会介绍到关于版本控制的相关知识以及版本控制神器Git 我们可能在生活中经常会使用GitHub网页去查询一些开源的资源或者项目,GitHub就是基于G ...
- 京东云TiDB SQL优化的最佳实践
京东云TiDB SQL层的背景介绍 从总体上概括 TiDB 和 MySQL 兼容策略,如下表: SQL层的架构 用户的 SQL 请求会直接或者通过 Load Balancer 发送到 京东云TiDB ...
- 6.RabbitMQ系列之direct直连交换器
我们通过fanout exchange(扇型交换机)实现生产者发送一个消息,这个消息同时被传送给所有队列.但是有时我们不希望所有的消息都被所有队列接收,我们希望可以指定类型为a的消息只能被队列A接收, ...
- java 入土--集合详解
java 集合 集合是对象的容器,实现了对对象的常用的操作,类似数组功能. 和数组的区别: 数组长度固定,集合长度不固定 数组可以存储基本类型和引用类型,集合只能存储引用类型 使用时需要导入类 Col ...
- el-cascader组件根据最后一级向上找到父级并设置默认值
vue + elementUI项目中,el-cascader级联选择器使用频率非常高,一些基本使用方法可以参考elementUI官方文档,本文主要研究当接口只返回最后一级id时,如何向上找出所有父级数 ...
- MongoDB数据库新手入门
windows安装mongodb 5.0.2 官网下载msi文件 自定义安装到 d:/apptoools/mongodb/ 不要勾选mongodb compass 报错:verify that you ...
- 原生Ajax处理文件流
在通过Ajax处理请求时,可能会遇到需要下载文件的情况,这里简要的说明下处理方法. let downloadFile = document.getElementById("downloadI ...