常见的map函数实例有哪些,怎么是实现
Admin 2022-08-06 群英技术资讯 579 次浏览
你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短。从此解放上班时间,研究更多更有效率的工作方法。进一步提升工作效率,让工作更出彩。这不是广告,这是实锤。
本文和你一起探索Python中的map函数,让你以最短的时间明白这个函数的原理。也可以利用碎片化的时间巩固这个函数,让你在处理工作过程中更高效。
map函数是Python中常用的内置函数,它会根据提供的函数对指定序列做映射。可以用来替换for循环语句,在不使用任何循环的情况下对所有指定元素进行迭代,让代码看起来更简洁。其基本调用语法如下:
map(func, *iterables)
func:函数。
*iterables:一个或多个序列。
如果我们要用循环函数对数列中的每个数求平方,可用如下代码:
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函数可以使得代码更加地简洁。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python可视化神器pyecharts绘制漏斗图,漏斗图是由Light等在1984年提出,一般以单个研究的效应量为横坐标,样本含量为纵坐标做的散点图
VSCode(全称:Visual Studio Code)是一款由微软开发的跨平台免费源代码编辑器。VSCode 开发环境非常简单易用,仅需要安装相关的插件进行简易的配置就可以与原有的python环境组成一套具有简单的代码调试运行的开发工具。对于轻量级的python开发和python学习是比较友好的。优秀的代码提示和更多插件功能让VSCode的使用体验不亚于知名pythonIDE—pycharm。_来自Python3 教程,w3cschool编程狮。
这篇文章主要为大家介绍了python爬虫在爬取网页时urllib中的异常模块处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
用Pytorch1.0进行半精度浮点型网络训练需要注意下问题,网络要在GPU上跑,模型和输入样本数据都要cuda().half();
这篇文章主要为大家介绍了Python进行密码学反向密码的教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008