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 25 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
python实现自动发送邮件
Jun 20 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
Python字典中的键映射多个值的方法(列表或者集合)
Oct 17 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 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
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
PHP中常用的魔术方法
2017/04/28 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
幼儿园中班教学反思
2014/02/10 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
入党介绍人评语
2014/05/06 职场文书
委托证明范本
2014/11/25 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
python实现MD5进行文件去重的示例代码
2021/07/09 Python
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android