Python map 函数 - Python零基础入门教程

目录

  • 一.前言
  • 二.Python map 函数语法简介
  • 三.Python map 函数实战
    • 1.使用 map 函数
    • 2.map 函数配合 lambda 匿名函数一起使用
  • 四.Python map 函数效率对比
  • 五.Python map 函数总结
  • 六.猜你喜欢

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

一.前言

截至到目前为止,其实我们已经接触了不少的 Python 内置函数,而 map 函数也是其中之一,map 函数是根据指定函数对指定序列做映射,在开发中使用 map 函数也是有效提高程序运行效率的办法之一.

二.Python map 函数语法简介

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python map 函数.py
@Time:2021/04/13 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""'''
参数描述:function:函数名iterable:一个序列或者多个序列,实际上这就是function对应的实参
返回值:返回值是迭代器,注意返回的结果只能迭代一次,如果需要多次使用请提前保存结果并处理。
'''
map(function, iterable, ...)# 注意返回的结果只能迭代一次
x = map(func1,range(0,10))print(list(x))//返回有数据的列表# map函数返回的迭代器只能迭代一次,迭代之后会自动清空
print(list(x))   // 返回空列表

三.Python map 函数实战

1.使用 map 函数

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python map 函数.py
@Time:2021/04/13 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""def func1(x):# 对序列中的每一个元素乘以10并返回return x*10'''map() 会根据提供的函数对指定序列做映射。序列中的每一个元素调用 func1 函数,返回新列表。
'''
x = map(func1,range(0,10))
print(list(x))
# map函数返回的迭代器只能迭代一次,迭代之后会自动清空
print(list(x))print("***"*20)
# 将map函数返回的迭代器保存转为list,可以多次使用
y = list(map(func1,range(0,10)))
print(y)
print(y)'''
输出结果:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
[]
************************************************************
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
'''

2.map 函数配合 lambda 匿名函数一起使用

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python map 函数.py
@Time:2021/04/13 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""# map函数配合匿名函数使用
x = list(map(lambda a:a*10,range(0,10))) # 序列中的每个元素乘以10
print(x)# map函数配合匿名函数使用,匿名函数有两个参数,所以map传参数应该也是两个序列
y = list(map(lambda a,b:a+b,[1,2,3,5,6,7],[10,20,30,50,60,70])) # 两个序列相加
print(y)'''
输出结果:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
[11, 22, 33, 55, 66, 77]
'''

注意:如果 map 函数中的函数是多个参数,那么 map 传参的时候也应该传递多个序列.

四.Python map 函数效率对比

对比一下效率,向列表 list 中存入一千万条数据,比较下耗时情况:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python map 函数.py
@Time:2021/04/13 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""import time
list1 = list()# 普通for循环
start = time.clock()
for i in range(0,10000000):list1.append(i)
print("普通for循环耗时:",time.clock() - start)# 列表推导式
list1.clear()
start = time.clock()
list1 = [i for i in range(0,10000000)]
print("列表推导式循环耗时:",time.clock() - start)# map映射函数
list1.clear()
start = time.clock()
list1 = list(map(lambda x:x,range(0,10000000)))
print("map映射函数耗时:",time.clock() - start)'''
输出结果:普通for循环耗时: 1.1869014999999998
列表推导式循环耗时: 0.5339119999999999
map映射函数耗时: 0.9047431000000001
'''

** 根据测试结果看来:列表推导式效率 > map 映射函数 > 普通for 循环**

五.Python map 函数总结

  • 1.map 函数的参数是由函数和一个序列或者多个序列构成;
  • ** 2.map 函数处理的结果是迭代器,而且只能迭代一次,如果需要多次使用,请提前保存;**

六.猜你喜欢

  1. Python 字符串/列表/元组/字典之间的相互转换
  2. Python 局部变量和全局变量
  3. Python type 函数和 isinstance 函数区别
  4. Python is 和 == 区别
  5. Python 可变数据类型和不可变数据类型
  6. Python 浅拷贝和深拷贝
  7. Python 递归函数
  8. Python sys 模块
  9. Python 列表 list
  10. Python 元组 tuple
  11. Python 字典 dict
  12. Python 条件推导式
  13. Python 列表推导式
  14. Python 字典推导式
  15. Python 函数声明和调用
  16. Python 不定长参数 *argc/**kargcs

未经允许不得转载:猿说编程 » Python map 函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

马克!程序员必须收藏的 10 类工具库,助你提高效率变大神

对程序员和IT专业10个有用的工具和库橙色的扩音器挂在橙色的墙上”Oleg Laptev在Unsplash网站上写道。每一个行业都有它自己的一些工具。软件行业也不例外。一个好的程序员比其他人更加熟悉那些工具,也能比一般的程序员更善于使用那些工具。但是,有一些工…

BugkuCTF-Reverse题特殊的Base64

知识点 换表的base64特点: 1.出现64个字节的字符串(其实应该叫做表)作为数组取值,并且(经常,不是一定)出现“/”和“”符号 2.作为补位,体现为对3求余(%3) …

Cloud一分钟 |亚马逊市值被微软反超;GKE全球大宕机长达19小时;苹果市值跌破9000亿美元...

Hello,everyone:11月15日早,星期四,新的一天祝大家工作愉快!CSDN一分钟新闻时间:云计算要“凉凉”?亚马逊市值被微软反超,巨头云计算支出放缓亚马逊下跌、Alphabet下跌、微软下跌。苹…

BugkuCTF-Reverse题游戏过关多解法

解题流程 下载程序 运行: 翻译为: 玩游戏 n是灯的序列号,m是灯的状态 如果第n个灯的m是1,它就亮,如果不是,它就灭 起初所有的灯都关上了 现在您可以输入n来更改其状态 但是你应该注意一件事,如…

10 张有关程序员的趣图,图图扎心

0、没事,我已经全部注释掉了1、好好的现有库你不用,非得造轮子了!2、HR 和程序员都是如何看简历的?3、程序员的灾难曲线图4、用钉钉子解释软件测试5、听说你是 CSS 高手6、客户需求 vs 最终实现7、程序员的 8 种层级↓↓↓8、多线…

CTF-汇编语言归纳

内容更新是由低向高递增的 内容如下: xor rax, rax #xor rax,rax是对rax的清零运算操作 条件跳转(一般配合cmp使用) 下表展示了基于零标志位、进位标志位、溢出标志位、奇偶标志位和符号标志位的跳转。 此表为1) 相等性的比较 无符号数比较 基于无符号数比较的…

Cloud一分钟 |谷歌总裁李佳离职;三星将为5G网络投220亿美元;人人网6000万美元贱卖...

Hello,everyone:11月16日早,星期五CSDN一分钟新闻时间:谷歌总裁李佳离职,未来投入AI与医疗领域 谷歌折损一员大将,不知作何感想。 三星将为5G网络投220亿美…

OD(Ollydbg)简介

ollydbg简介: Ollydbg 通常称作OD,是反汇编工作的常用工具,OD附带了200脱壳脚本和各类插件,功能非常强大,可以过SE,VMP3.0,深受逆向圈内人士的喜爱 OD,是一个反汇编工具,…

CTF-Bugku逆向题Android方法归纳

1.signin题目: reverse() 功能:反转数组里的元素的顺序 语法:arrayobject.reverse.() 这类方法会改变原来的数组,不可逆转 tostring() 功能:将各类进制的数字转化为字符串 语法:number.toString(radix)&#xff08…

八折进行中 | 暌违一载,2018 中国大数据技术大会(BDTC)首轮讲师阵容震撼来袭!...

暌违一载,今又相约。作为年度技术趋势与行业应用的风向标,2018 中国大数据技术大会(BDTC 2018)携主题“大数据新应用”再度强势来袭,稳踏技术时代浪潮,势将引爆今冬技术圈。2018 年12 月 6-8 日&#xff0c…

BugkuCTF-WEB题web16备份是个

知识点 ini_set — 为一个配置选项设置值 PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便 strstr — 查找字符串…

中国云计算的十年江湖

本文经授权转自公众号企服行业头条(ID:wwwqifu)有云的地方,就有江湖。有江湖的地方,就免不了战乱纷争。盘古开天地前,宇宙混沌一片。云计算在国内诞生之际也是如此。没有先例,没有规矩。一切都从…

BugkuCTF-WEB题速度要快

此题小结: 用python脚本获取网页内容以及post数据 主要函数: s requests.session() url’’ return s.get(url). # 可以获取header等信息 data{} 最后传值:s.post(datadata) 解题流程 打开网页,只看到一句话:我感觉你得快点!!! F12查看源…

BugkuCTF-WEB题秋名山车

打开网页,题目让我们计算车速,限时2s,并且通过POST方式传递结果 再刷新几次,显示: 手动计算并传值一定会超过2s的时间限制,因此我们编写python脚本实现(参考车速脚本.py) 编写python脚本并运行&#xff0…

想在“双十一”做“爆款”?你的数据库存能支撑吗?

火热的“双十一”剁手节刚刚过去,阿里巴巴、京东们继续往年的辉煌,有趣的是,线下传统零售百货们今年也不甘寂寞,诸如北京的新世界百货、上海和杭州的银泰百货等大商场也适时推出各种活动,赚了个盆满钵满。有些消费者今…

BugkuCTF-WEB题需要管理员

提示:好像需要管理员 御剑扫描一下后台,发现robots.txt,访问 提示/resusl.php,继续访问,发现要传入一个参数x,并且x的值是要等于password,采用burp爆破 得到密码是admin,其实题目好像需要管…

Cloud一分钟 |小米与美图战略合作;新东方在线通过港交所上市聆讯;工信部审批首个“.cloud”顶级域名...

Hello,everyone:11月20日早,星期二CSDN一分钟新闻时间:小米与美图战略合作,将获得美图手机品牌和影像技术等全球独家授权 小米要收购美图的节奏? …

BugkuCTF-WEB题file_get_contents

知识点 empty() 函数用于检查一个变量是否为空。empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 extract()函数从数组里将变量导入…

盛会再临,2018 中国大数据技术大会(BDTC)首曝日程及议题

满目皆干货,俯仰尽拾珠。作为年度技术趋势与行业应用的风向标,连续成功举办十一年的中国大数据技术大会(BDTC)携主题“大数据新应用”再度强势来袭,稳踏技术时代浪潮,势将引爆今冬技术圈数据,让…

BugkuCTF-WEB题程序员本地网站

在BurpSuite里添加X-Forwarded-For: 127.0.0.1