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启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
python遍历类中所有成员的方法
Mar 18 Python
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
解决Python3下map函数的显示问题
Dec 04 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
Django admin管理工具TabularInline类用法详解
May 14 Python
python把一个字符串切开的实例方法
Sep 27 Python
Python性能测试工具Locust安装及使用
Dec 01 Python
python 闭包函数详细介绍
Apr 19 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
使用PHP 5.0创建图形的巧妙方法
2010/10/12 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
JavaScript网页定位详解
2014/01/13 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
Python中的类与对象之描述符详解
2015/03/27 Python
python函数的5种参数详解
2017/02/24 Python
python编写分类决策树的代码
2017/12/21 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python爬虫容易学吗
2020/06/02 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
经典c++面试题五
2014/12/17 面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
学期自我鉴定范文
2013/10/01 职场文书
教师节感谢信
2015/01/22 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
Redis特殊数据类型bitmap位图
2022/06/01 Redis