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 函数处理的结果是迭代器,而且只能迭代一次,如果需要多次使用,请提前保存;**
六.猜你喜欢
- Python 字符串/列表/元组/字典之间的相互转换
- Python 局部变量和全局变量
- Python type 函数和 isinstance 函数区别
- Python is 和 == 区别
- Python 可变数据类型和不可变数据类型
- Python 浅拷贝和深拷贝
- Python 递归函数
- Python sys 模块
- Python 列表 list
- Python 元组 tuple
- Python 字典 dict
- Python 条件推导式
- Python 列表推导式
- Python 字典推导式
- Python 函数声明和调用
- Python 不定长参数 *argc/**kargcs
未经允许不得转载:猿说编程 » Python map 函数
Python map 函数 - Python零基础入门教程相关推荐
- Python return逻辑判断表达式 - 零基础入门教程
目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- Python 3.X 完全零基础入门精讲 全套视频教程
简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...
- python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件
在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...
- C语言 const 修饰函数参数 - C语言零基础入门教程
C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...
- 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino
ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...
- C++零基础入门教程:基础篇(一)
前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
最新文章
- android tab 悬停效果代码,Android 仿腾讯应用宝 之 Toolbar +Scroolview +tab滑动悬停效果...
- 收藏 | 一文打尽AI、机器学习网络资源!
- springboot mybatis 项目框架源码 shiro 集成代码生成器 ehcache缓存
- 运行launch文件报错Roslaunch got a ‘No such file or directory‘ error while attempting to run:
- 目标检测带标签样本增广工具
- 使用cmake安装mysql5.5.13
- 单词背诵【CodeVS3013】 哈希
- 你真的知道 NoSuchMethodError 发生原因和解决办法吗
- Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:执行手动查询...
- 项目管理中网络图的看法和相关参数阅读说明
- et al、e.g.、i.e.读音及释义
- 上采样和下采样_OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG
- linux上python3的安装
- java通过各种类型驱动连接数据库
- Flutter功能 中ListView和GridView嵌套报错?【教你一步搞定】
- mysql中转换日期格式,MySQL日期格式转换
- 基于Simulink的汽车电子驻车系统仿真分析
- mcu,单片机选型以及厂家推荐
- Nessus部署及简单使用
- Unity学习笔记——TimeLine的简单使用方法(一)