python中map的基本用法示例


Posted in Python onSeptember 10, 2018

map()函数

map() 会根据提供的函数对指定序列做映射,是内置函数

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法

map(function, iterable, ...)

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

1、当seq只有一个时,将函数func作用于这个seq的每个元素上,并得到一个新的seq。

python中map的基本用法示例

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每个元素都作平方,就可以用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):
 return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

输出结果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函数不改变原有的 list,而是返回一个新的 list。

利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:

输入:['adam', 'LISA', 'barT']

输出:['Adam', 'Lisa', 'Bart']

def format_name(s):
 s1=s[0:1].upper()+s[1:].lower();
 return s1;
print map(format_name, ['adam', 'LISA', 'barT'])

2、当seq多于一个时,map可以并行(注意是并行)地对每个seq执行如下图所示的过程:

python中map的基本用法示例

l2=map(lambda x,y:x**y,[1,2,3],[1,2,3])
for i in l2:
 print(i)

l3=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,3])
for i in l3:
 print(i)

python3中可以处理类表长度不一致的情况,但无法处理类型不一致的情况,
l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2])
for i in l4:
 print(i)

l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,'a'])
for i in l4:
 print(i)

特殊用法,做类型转换: 

l=map(int,'1234')
for i in l:
 print(type(i))
 print(i)

如果函数是 None,自动假定一个‘identity'函数,这时候就是模仿 zip()函数,

l=[1,2,3]
x=map(None,l)
print(x)

这时候 None 类型不是一个可以调用的对象。所以他没法返回值。

目的是将多个列表相同位置的元素归并到一个元组。如:

>>> print map(None, [2,4,6],[3,2,1])
[(2, 3), (4, 2), (6, 1)]

但是在 python3中,返回是一个迭代器,所以它其实是不可调用的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python转码问题的解决方法
Oct 07 Python
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python3处理文件中每个词的方法
May 22 Python
Python中map和列表推导效率比较实例分析
Jun 17 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
python多线程socket编程之多客户端接入
Sep 12 Python
Python实现的基数排序算法原理与用法实例分析
Nov 23 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python实现微信小程序用户登录、模板推送
Aug 28 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
call在Python中改进数列的实例讲解
Dec 09 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 #Python
django DRF图片路径问题的解决方法
Sep 10 #Python
详解python中Numpy的属性与创建矩阵
Sep 10 #Python
tensorflow使用神经网络实现mnist分类
Sep 08 #Python
Python unittest单元测试框架总结
Sep 08 #Python
tensorflow实现加载mnist数据集
Sep 08 #Python
使用tensorflow实现线性回归
Sep 08 #Python
You might like
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
python读写json文件的简单实现
2017/04/11 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
Python单元和文档测试实例详解
2019/04/11 Python
Django 用户认证组件使用详解
2019/07/23 Python
python批量图片处理简单示例
2019/08/06 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
selenium如何定位span元素的实现
2021/01/13 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
财务会计专业个人求职信范本
2014/01/08 职场文书
优秀学生评语大全
2014/04/25 职场文书
个人授权委托书范本
2014/09/14 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
企业授权委托书范本
2014/09/22 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
入学证明
2015/06/23 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript