Python Map函数保姆级使用教程

 更新时间:2022年06月29日 08:38:09   作者:阿黎逸阳  
map是python内置函数,会根据提供的函数对指定的序列做映射,这篇文章主要介绍了python中的map函数语法详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短。从此解放上班时间,研究更多更有效率的工作方法。进一步提升工作效率,让工作更出彩。这不是广告,这是实锤。

本文和你一起探索Python中的map函数,让你以最短的时间明白这个函数的原理。也可以利用碎片化的时间巩固这个函数,让你在处理工作过程中更高效。

一、map函数的定义

map函数是Python中常用的内置函数,它会根据提供的函数对指定序列做映射。可以用来替换for循环语句,在不使用任何循环的情况下对所有指定元素进行迭代,让代码看起来更简洁。其基本调用语法如下:

map(func, *iterables)

func:函数。

*iterables:一个或多个序列。

二、map函数实例

对数列中的每个元数求平方

如果我们要用循环函数对数列中的每个数求平方,可用如下代码:

new_list = []
for i in [3, 4, 5, 6]:
    new_list.append(i**2)
print(new_list)

得到结果:

[9, 16, 25, 36]

而用map函数一行代码直接搞定,具体如下:

list(map(lambda  x:x**2, [3, 4, 5, 6]))

得到结果:

[9, 16, 25, 36]

其中lambda x:x**2是函数,[3, 4, 5, 6]是原始数列,返回的结果是根据函数对原始数列做的映射。不过map的结果要通过list函数才能显示出来。

求两个数列中对应元素的和

有的人可能会说a是一个数列,b是另一个数列,求两个数列的和那还不简单,直接a+b不就好了。那我们来做个小实验,看看python中两个数列直接用+加起来会得到什么,代码如下:

a = [2, 6, 3]
b = [3, 4, 5]
a + b

得到结果:

[2, 6, 3, 3, 4, 5]

可以发现python中两个数列求+,直接将两个数列拼接后返回。聪明的你想到用map函数怎么操作了吗?具体代码如下:

a = [2, 6, 3]
b = [3, 4, 5]
list(map(lambda a,b:a+b, a, b))

得到结果:

[5, 10, 8]

人工加一下可以发现答案是对的。

求数列中每个元素的长度

对python有了解的小伙伴应该知道len(str) 表示求str的长度。如果想要求数列中每个元素的长度应该怎么写呢?具体代码如下:

list(map(len, ['white', 'blue', 'green', 'yellow']))

得到结果:

[5, 4, 5, 6]

人工校验一下可以发现答案是对的。

把数列中每个英文元素转换成对应的大写

对python有了解的小伙伴应该知道str.upper()表示把str中的字母转换成对应的大写。如果想要把数列中每个元素中的英文都转换成对应的大写应该怎么操作?具体代码如下:

list(map(lambda x:x.upper(), ['white', 'blue', 'green', 'yellow']))

得到结果:

['WHITE', 'BLUE', 'GREEN', 'YELLOW']

人工校验一下可以发现答案是对的。

将字符串转换成数值数列

将字符串转换成数值数列的具体代码如下:

list(map(int, '789'))

得到结果:

[7, 8, 9]

人工校验一下可以发现答案是对的。

提取字典中的键

如果想提取字典中的键你能想到几种方法?本文提供两种方法供大家参考。

方法一:

应用字典自带的函数进行提取,具体代码如下:

dict_1 = {'星期一': '吃榴莲', '星期二': '吃葡萄' , '星期三': '吃西瓜', '星期四': '吃樱桃', '星期五': '吃波罗蜜', '星期六': '吃葡萄', '星期天': '吃猕猴桃'}
list(dict_1.keys())

得到结果:

['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']

人工校验一下可以发现答案是对的。

方法二:

应用map函数进行提取,具体代码如下:

list(map(str, {'星期一': '吃榴莲', '星期二': '吃葡萄' , '星期三': '吃西瓜', '星期四': '吃樱桃', '星期五': '吃波罗蜜', '星期六': '吃葡萄', '星期天': '吃猕猴桃'}))

得到结果:

['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']

可以发现方法二和方法一得到的结果是一致的。从以上几个案例中可以发现应用map函数可以使得代码更加地简洁。

到此这篇关于Python Map函数保姆级使用教程的文章就介绍到这了,更多相关Python Map函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解python--模拟轮盘抽奖游戏

    详解python--模拟轮盘抽奖游戏

    这篇文章主要介绍了python模拟轮盘抽奖游戏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Pytorch保存模型用于测试和用于继续训练的区别详解

    Pytorch保存模型用于测试和用于继续训练的区别详解

    今天小编就为大家分享一篇Pytorch保存模型用于测试和用于继续训练的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python 全局空间和局部空间

    Python 全局空间和局部空间

    这篇文章主要介绍了Python 全局空间和局部空间,命名空间的概念的提出是为了划分和控制变量是否可见,以及生存周期的长短;命名空间的作用范围叫做作用域更多详细内容需要的小伙伴可以参考一下
    2022-04-04
  • JPype实现在python中调用JAVA的实例

    JPype实现在python中调用JAVA的实例

    本篇文章主要介绍了JPype实现在python中调用JAVA的实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 解决pandas无法在pycharm中使用plot()方法显示图像的问题

    解决pandas无法在pycharm中使用plot()方法显示图像的问题

    今天小编就为大家分享一篇解决pandas无法在pycharm中使用plot()方法显示图像的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • sklearn中的交叉验证的实现(Cross-Validation)

    sklearn中的交叉验证的实现(Cross-Validation)

    这篇文章主要介绍了sklearn中的交叉验证的实现(Cross-Validation),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python实现获取aws route53域名信息的方法

    python实现获取aws route53域名信息的方法

    最近由于工作原因接触到aws的服务,我需要实时获取所有的域名信息,用于对其进行扫描,因此写了一个自动化爬取脚本 给需要的人分享,对python获取aws route53域名信息相关知识感兴趣的朋友一起看看吧
    2023-12-12
  • Python中的wordcloud库安装问题及解决方法

    Python中的wordcloud库安装问题及解决方法

    这篇文章主要介绍了Python中的wordcloud库安装问题及解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • python 多进程队列数据处理详解

    python 多进程队列数据处理详解

    今天小编就为大家分享一篇python 多进程队列数据处理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 浅析Python字符串中的r和u的区别

    浅析Python字符串中的r和u的区别

    在Python中,字符串前面我们经常看到会加一些前缀,例如u、r、b、f。这篇文章将带大家简单了解一下字符串前加r(R)或u/(U)的前缀的区别,快来跟随小编一起学习吧
    2021-12-12

最新评论