目录

  • 一.前言
  • 二.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 函数

Python map 函数 - Python零基础入门教程相关推荐

  1. Python return逻辑判断表达式 - 零基础入门教程

    目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...

  2. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  3. 视频教程-Python零基础入门教程-Python

    Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...

  4. Python零基础入门教程( 快速入门)

    前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...

  5. Python 3.X 完全零基础入门精讲 全套视频教程

    简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...

  6. python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件

    在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...

  7. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  8. 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino

    ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...

  9. C++零基础入门教程:基础篇(一)

    前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...

  10. SEO零基础入门教程(外链的发布和软文编写)

    seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...

最新文章

  1. android tab 悬停效果代码,Android 仿腾讯应用宝 之 Toolbar +Scroolview +tab滑动悬停效果...
  2. 收藏 | 一文打尽AI、机器学习网络资源!
  3. springboot mybatis 项目框架源码 shiro 集成代码生成器 ehcache缓存
  4. 运行launch文件报错Roslaunch got a ‘No such file or directory‘ error while attempting to run:
  5. 目标检测带标签样本增广工具
  6. 使用cmake安装mysql5.5.13
  7. 单词背诵【CodeVS3013】 哈希
  8. 你真的知道 NoSuchMethodError 发生原因和解决办法吗
  9. Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:执行手动查询...
  10. 项目管理中网络图的看法和相关参数阅读说明
  11. et al、e.g.、i.e.读音及释义
  12. 上采样和下采样_OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG
  13. linux上python3的安装
  14. java通过各种类型驱动连接数据库
  15. Flutter功能 中ListView和GridView嵌套报错?【教你一步搞定】
  16. mysql中转换日期格式,MySQL日期格式转换
  17. 基于Simulink的汽车电子驻车系统仿真分析
  18. mcu,单片机选型以及厂家推荐
  19. Nessus部署及简单使用
  20. Unity学习笔记——TimeLine的简单使用方法(一)

热门文章

  1. 供应链商品域DDD实践
  2. 终于要跟大家见面了,Flink 面试指南
  3. MSSQL实践-数据库备份加密
  4. AliOS Things手势识别应用演示
  5. SLB访问日志分析:基于客户端来源和HTTP状态码的实践
  6. 汇聚技术与能力,共绘区块链远大蓝图!
  7. 云原生除了K8S、微服务,还有...?
  8. 从程序员到上市公司合伙人,怎么少踩坑?
  9. 2020年边缘计算最新前沿报告:如何与核心云、5G、AI协同?如何打造新业态和部署运营?...
  10. 终于有人把超融合和边缘计算说清楚了