广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python高阶函数map()怎么使用
  • 850
分享到

Python高阶函数map()怎么使用

2023-07-05 08:07:56 850人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python高阶函数map()怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python高阶函数map()怎么使用文章都会有所收获,下面我们一起来看看吧。简介:格式:map(funct

这篇文章主要介绍了python高阶函数map()怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python高阶函数map()怎么使用文章都会有所收获,下面我们一起来看看吧。

简介:

格式:

map(function,iterable,……)

参数说明:

function:是表示函数功能

iterable:是表示可迭代对象 ,后面可以跟一个或者多个可迭代对象

功能:这个函数可以实现把可迭代对象中的每个数据依次带入功能函数(function)中

返回值:注意map() 函数并不会改变原来的数据,而是生成一个新的map对象(本质是一个迭代器),map对象第一个参数是作用功能,第二个是被功能函数作用可迭代对象,当我们去通过列表(list)进行强制转换会触发函数的作用。

其他信息:这个函数在Python2的返回值是直接返回list类型,而在python3是返回一个map类型,但是map类型要去通过list() 转换才可以输出结果

 map() 函数是Python中的内置函数,这个函数又叫做映射函数,其实里面具有一个迭代器的功能,会依次遍历可迭代对象进行相关的操作。

help(map) 查看这个函数的相关信息 

Python高阶函数map()怎么使用

示例:

示例(1):输出map()函数返回值(迭代器)结果

def fun(n):    return n**2if __name__=='__main__': #判断是不是执行文件    li=[x for x in range(1,12)]    re=map(fun,li)    print(type(re))    print(list(re))    print(tuple(re))#输出结果:<class 'map'>#         [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121]#         ()

 这里可以看出,re是一个map类型,当我们用list去转换re的类型,可以看到输出结果,但是如果我们用tuple去转换类型却输出不了结果,所以map类型只能通过列表类型去转换输出结果。

def fun(n):    return n**2if __name__=='__main__':    li=[x for x in range(1,12)]    re=map(fun,li)    for i in re:        print(i,end=' ')#输出结果:1 4 9 16 25 36 49 64 81 100 121

这里可以看出,map的返回值是一个迭代器,我们可以去通过循环依次输出结果,在输出的时候会触发fun() 函数的作用,fun() 函数会依次作用给每一个迭代对象,然后输出

示例(2):与循环对比

那这里就有人会问了,为什么不用循环去实现这种功能呢?循环不也可以吗?当然可以,只是效率没有map() 函数高,而且没有用map() 这么秀~

def fun(n):    return n**2if __name__=='__main__':    li=[x for x in range(1,12)]    re=[]    for i in li:        num=fun(i)        re.append(num)    print(re)#输出结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121]

示例(3):字符串转列表

if __name__=='__main__':    str1='123456'    result=map(int,str1)    print(list(result))#输出结果:[1, 2, 3, 4, 5, 6]

示例(4):元组转列表

if __name__=='__main__':    tu=(x for x in range(1,11))    result=map(str,tu)    print(list(result))#输出结果:['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

示例(5):提取字典的键key,通过函数作用放入到列表当中

def fun(n):    return n*2if __name__=='__main__':    d={1:'Good',2:'nice',3:'wao',4:'bless'}    result=map(fun,d)    print(list(result))#输出结果:[2, 4, 6, 8]

示例(6):与lambda函数结合

1.

if __name__=='__main__':    li=[x for x in range(-7,8) if x%2==0]    result=map(lambda y:y**2+y,li)    print(list(result))#输出结果:[30, 12, 2, 0, 6, 20, 42]

2.多个可迭代对象

if __name__=='__main__':    li=[1,3,5,7]    lil=[2,4,6,8]    result=map(lambda x,y:x+y,li,lil)    print(list(result))#输出结果:[3, 7, 11, 15]
if __name__=='__main__':    li=[1,3,5,7]    lil=[2,4,6]    result=map(lambda x,y:x+y,li,lil)    print(list(result))#输出结果:[3, 7, 11]

这里说明一下:如果是对两个或者两个以上可迭代对象进行处理的话,是根据序列的下标一一对应处理,比如上面的例子,是按照1+2,3+4,5+6,7+8依次输出结果,但是第二个例子没有8,故无法对下标为 3 的位置进行处理,所以输出结果只有三个。

3.多个可迭代对象返回元组形式

if __name__=='__main__':    li=[1,2,3,4]    lil=[5,6,7,8]    result=map(lambda x,y:(y,x),li,lil)    print(list(result))#输出结果:[(5, 1), (6, 2), (7, 3), (8, 4)]

4.元组与列表共同作用

if __name__=='__main__':    li=[a for a in range(0,4)]    tu=(b for b in range(4,8))    result=map(lambda x,y:(x**2,y-5),li,tu)    print(list(result))#输出结果:[(0, -1), (1, 0), (4, 1), (9, 2)]

这里可以看出,iterable&hellip;&hellip;可以是列表或者元组,只要有下标且对应的都可以进行参与运算

示例(7):math函数作为function

import mathif __name__=='__main__':    li=[a for a in range(-5,4)]    result=map(lambda x:round(math.sin(x),2),li) #保留两位小数    print(list(result))#输出结果:[0.96, 0.76, -0.14, -0.91, -0.84, 0.0, 0.84, 0.91, 0.14]

关于“Python高阶函数map()怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python高阶函数map()怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python高阶函数map()怎么使用

本文链接: https://www.lsjlt.com/news/350586.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python高阶函数map()怎么使用
    这篇文章主要介绍了Python高阶函数map()怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python高阶函数map()怎么使用文章都会有所收获,下面我们一起来看看吧。简介:格式:map(funct...
    99+
    2023-07-05
  • Python高阶函数map()简介和使用详解
    目录简介:示例:示例(1):输出map()函数返回值(迭代器)结果示例(2):与循环对比示例(3):字符串转列表示例(4):元组转列表示例(5):提取字典的键key,通过函数作用放入...
    99+
    2023-03-03
    Python 高阶函数map使用 Python map函数
  • 详解Python中高阶函数(map,filter,reduce,sorted)的使用
    目录什么是高阶函数自定义一个高阶函数常用的内置高阶函数map函数参数说明功能实例filter函数功能实例reduce函数功能实例sorted函数参数说明功能实例sort和sorted...
    99+
    2022-11-10
  • python中三种高阶函数(map,reduce,filter)详解
    map(function,seq[,seq2]) 接收至少两个参数,基本作用为将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列 返回一个可迭代的map对象 f...
    99+
    2022-11-12
  • Python常见内置高阶函数即高阶函数用法
    目录1.什么是高阶函数?2.高阶函数-map、filter、reduce2.1map函数2.2filter函数2.3reduce函数1.什么是高阶函数?   高阶函数:一个函数可...
    99+
    2022-11-12
  • JavaScript高阶函数怎么用
    本篇内容主要讲解“JavaScript高阶函数怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript高阶函数怎么用”吧! 数组方法 高阶函...
    99+
    2022-10-19
  • python高阶函数使用的方法
    今天小编给大家分享一下python高阶函数使用的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、高阶函数函数定义pyt...
    99+
    2023-07-02
  • 什么是python 高阶函数
    本篇文章为大家展示了什么是python 高阶函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。体验高阶函数在Python中,abs()函数可以完成对数字求绝对值计算。abs(-10) #&...
    99+
    2023-06-06
  • 什么是Python高阶函数
    这篇文章主要介绍“什么是Python高阶函数”,在日常操作中,相信很多人在什么是Python高阶函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Python高阶函数”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-15
  • Python全栈迭代器和高阶函数怎么使用
    本篇内容介绍了“Python全栈迭代器和高阶函数怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. lambda表达式# ...
    99+
    2023-06-21
  • Python3的高阶函数怎么用
    本篇内容介绍了“Python3的高阶函数怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.高阶函数# 1.变量指向函数#&n...
    99+
    2023-06-28
  • python高阶函数使用教程示例
    目录一、高阶函数函数定义函数名可作为返回值、也可作为参数(1)函数名作为参数(2)函数名作为返回值二、常用的高阶函数(1)map(function,iterable)(2)filte...
    99+
    2022-11-13
  • python高阶函数functools模块如何使用
    本篇内容主要讲解“python高阶函数functools模块如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python高阶函数functools模块如何使用”吧!functools模块提...
    99+
    2023-07-05
  • python如何使用map()函数
    这篇文章将为大家详细讲解有关python如何使用map()函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。map()map()是一个内置的Python函数,用于将一个函数应用于元素序列(如列表或字典)。...
    99+
    2023-06-03
  • Lambda和高阶函数怎么在Kotlin 中使用
    本篇文章为大家展示了Lambda和高阶函数怎么在Kotlin 中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Lambda是什么Lambda是一种函数的表示方式(言外之意也就是说一个Lambda...
    99+
    2023-05-30
    kotlin lambda 高阶函数
  • java的map函数怎么使用
    在Java中,`Map`是一个接口,它表示键值对的映射。它有多个实现类,如`HashMap`,`TreeMap`等。要使用`Map`...
    99+
    2023-09-11
    java
  • js的Map函数怎么使用
    本文小编为大家详细介绍“js的Map函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“js的Map函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Map是ES2015引入的Global Obj...
    99+
    2023-06-29
  • Python中如何使用map函数
    Python中如何使用map函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用法map(func, seq1[, seq2,…])map接收两个参数,第一个参数是函数名,...
    99+
    2023-06-04
  • 常用的python高阶函数有哪些
    常用的Python高阶函数包括:1. map(function, iterable):对可迭代对象中的每个元素应用函数,并返回一个迭...
    99+
    2023-08-09
    python
  • python中Map函数有什么用
    这篇文章主要为大家展示了“python中Map函数有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中Map函数有什么用”这篇文章吧。Map 函...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作