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

摘要:
目录1。前言2。Python映射函数语法简介3。Python映射函数的实际使用1。地图功能2的使用。将映射函数与lambda匿名函数4一起使用。Python映射函数5的效率比较。Python映射函数概述6。我猜你喜欢零基础Python学习路线推荐:Python学习目录˃˃Python 1简介。前言到目前为止,我们已经接触了许多Python内置函数,map函数也是其中之一。map函数根据指定的函数映射指定的序列。在开发中使用map函数也是有效提高程序运行效率的方法之一。二、Python映射函数语法介绍#!

目录

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

一.前言

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

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

二.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 函数 -Python零基础入门教程第2张

四.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 函数 -Python零基础入门教程第3张

五.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零基础入门教程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux Python3 的一些坑iOS_网络_02_搭建本地Web服务器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python 多线程库总结

多线程库总结基于线程的并行性threading模块下面是一些基础函数,函数包括: 函数 threading.active_count() threading.current_thread() threading.get_ident() threading.enumerate() threading.main_thread() threading.se...

python之fabric(二):执行模式(转)

执行模式 执行模式可以让你在多个主机上执行多个任务。 执行策略: 默认fabric是单个有序地执行方法,其行为如下:       1. 创建一系列任务,通过fab任务执行要执行的任务;       2. 根据主机列表定义,去执行每一个任务;       3. 没有主机定义的任务,将在本地执行一次。 如: from fabric.api import run...

安装的 Python 版本太多互相干扰?pyenv 建议了解一下。

写在之前 我们都知道现在的 Python 有 Python2 和 Python3,但是由于各种乱七八糟的原因导致这俩哥们要长期共存,荣辱与共,尴尬的是这哥俩的差异还比较大,在很多时候我们可能要同时用到它们,所以就要在 Python2 和 Python3 之间来回的无缝切换。 安装不同版本的 Python 我已经够累了,还要在不同版本的 Python 之间切...

python 判断当前时间是否在一个时间范围内

一、概述 最近在数据分析,需要判断当前时间是否为上班时间:9:00~18:00 二、代码实现 import datetime # 范围时间 d_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + '9:00', '%Y-%m-%d%H:%M') d_time1...

使用python爬虫爬取股票数据

前言: 编写一个爬虫脚本,用于爬取东方财富网的上海股票代码,并通过爬取百度股票的单个股票数据,将所有上海股票数据爬取下来并保存到本地文件中 系统环境: 64位win10系统,64位python3.6,IDE位pycharm 预备知识: BeautifulSoup的基本知识,re正则表达式的基本知识 代码: importrequests from bs4 i...

使用Python控制IE访问网站

这里介绍一下怎样利用Python 2.7和Python Win32 Extensions来控制浏览器访问一个网页。 首先需要到Python的官网下载Python 2.7.3 Windows Installer,下载后文件名为python-2.7.3.msi。 接着到Python Win32 Extensions的官网(http://starship.pyt...