**

python中map()函数总结

**

1.关于map()函数

(1)map函数是python中的一个内置函数,做映射。
(2)map()函数返回的是一个新的迭代器对象,不会改变原有对象!

2.语法

class map(object)|  map(func, *iterables) --> map object|  |  Make an iterator that computes the function using arguments from|  each of the iterables.  Stops when the shortest iterable is exhausted.|  |  Methods defined here:|  |  __getattribute__(self, name, /)|      Return getattr(self, name).|  |  __iter__(self, /)|      Implement iter(self).|  |  __next__(self, /)|      Implement next(self).|  |  __reduce__(...)|      Return state information for pickling.|  |  ----------------------------------------------------------------------|  Static methods defined here:|  |  __new__(*args, **kwargs) from builtins.type|      Create and return a new object.  See help(type) for accurate signature.

简单理解:

map(function, iterable)
#function -- 函数
#iterable -- 序列

其实map()的作用很简单,只需要记住一句话:将函数映射作用于序列上!!

3.示例

(1)利用map()结合split()进行输入
①输入str:a,b,c = input().split()
②输入整数:a,b,c = map(int,input().split())
③输入浮点数:a,b,c = map(float,input().split())

a,b,c = map(int,input().split(","))#此处function为int,序列即输入
print(a,b,c)
>>>1,2,3
>>>1 2 3

(2)map()返回迭代器

l = [2,0,0,2,0,2,2,2]
result = map(lambda x: x*x,l)
print(result)#返回一个迭代器
>>><map object at 0x000001DC51E22EC8>
print(list(result))#使用 list() 转换为列表
>>>[4, 0, 0, 4, 0, 4, 4, 4]
print(list(map(lambda x:x*x,l)))#合并为一行代码解决
>>>[4, 0, 0, 4, 0, 4, 4, 4]

注:map函数会返回一个迭代器,常使用 list() 来转换。

浅浅记录一个小错误(代码如下):

list = [2,0,0,2,0,2,2,2]
result = map(lambda x: x*x,list)
print(result)
print(list(result))

结果报错:

TypeError: 'list' object is not callable

揭秘我之前从没注意过这个问题! ):

我试图将map()返回的结果转换为列表list,但是由于变量list和函数list重名了,所以函数在使用list函数时,发现list是一个定义好的列表,而列表是不能被调用的,因此抛出一个类型错误。
(3)map中的function取自定义函数

def function(x):return x*2
print(list(map(function,range(3))))
>>>[0, 2, 4]

(4)迭代器仅一次访问

l = ['1', '2', '3', '4', '5', '6']
print(l)
>>>['1', '2', '3', '4', '5', '6']
l_int = map(lambda x: int(x), l)
for i in l_int:print(i, end=' ')
>>>1 2 3 4 5 6
print()
print(list(l_int))
>>>[]#由于map()生成的是迭代器,所以for循环以后再使用l_int时迭代器中的数据已经为空了!!!

python中map()函数总结相关推荐

  1. python中map()函数无法输出

    目录 1.用法 2.输出 map返回是一个迭代器,需要转换成列表格式才能输出 1.用法 map(function, x) 如一下都是可以正常使用的方法,函数对x中每个元素进行计算 num = map( ...

  2. python中 map函数 的使用

    1. 概念 map函数也是python中的一个内置函数,用法同之前讲过的filter函数类似.map在这里的意思是映射的意思,会根据提供的函数对指定序列做映射. map函数会返回一个迭代器,如果要转换 ...

  3. python中map函数是什么意思_python中map什么意思

    python中map什么意思? python中map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 func ...

  4. python中map函数的简单使用

    Map函数的简单使用 map函数中的第一个参数是方法名,第二个参数是可以迭代的对象,第三个位置,第四个-也可以传参数,传进去的也是可迭代的对象,例如列表,字典,元组,字符串.这个函数会依次把可迭代对象 ...

  5. python中map函数运行原理_Python中map函数的解释和可视化

    先重温一下迭代(Iteration).迭代器对象(iterable).迭代器(iterator )的概念: Iteration是计算机科学的通用术语,它是指对一组元素执行一项操作,一次执行一个元素.一 ...

  6. Python中map()函数浅析

    MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, .. ...

  7. Python中map()函数用法

    map() 是python的内置函数,会根据提供的函数对指定序列做映射. 对可迭代函数*iterables中的每个元素应用func方法,将结果作为迭代器对象返回. 注意:map()函数返回的是一个新的 ...

  8. map函数python返回值,Python中map函数使用

    图片发自简书App map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 1.当se ...

  9. python中map函数返回值类型_Python学习第42课-map()函数

    [每天几分钟,从零入门python编程的世界!] 今天我们学习另一个比较常用的内置函数map(). ●描述 map()会根据提供的函数对指定迭代器做映射. 它有两个参数,第一个参数是一个函数,第二个参 ...

最新文章

  1. 独家|OpenCV1.8 使用XML和YAML文件实现文件的输入/输出
  2. 关于如何评价洗牌质量的猜想
  3. 50 种不同编程语言的“Hello World”,你知多少?
  4. Leet Code OJ 172. Factorial Trailing Zeroes [Difficulty: Easy]
  5. gis计算各省河流长度_用河流和各方解释安全漏洞
  6. java策略模式学习
  7. 民生证券手机网上开户流程
  8. 基于Ext Core的包含校验功能的表单提交扩展Ext.ux.submit
  9. 你还在用迭代器处理集合吗?试试Stream,真香!
  10. matlab最小二乘法解超定方程,[转载]matlab 超定方程 最小二乘解
  11. 1+1备份和1:1冗余备份区别
  12. 2012,当我们谈论移动互联网创业时,我们在谈论些什么?
  13. 凡人修c传(四)翻牌子(POJ - 3279 - Fliptile)(思维+dfs)
  14. NOIP2017提高组比(Bao)赛(zha)总结
  15. 第二篇python安装(1)
  16. 身高排队算法_高的排中间,矮的站两边【Java实现】
  17. 地址前缀列表(IP Prefix List)
  18. poj2228 Naptime 题解报告
  19. template和script标签
  20. python OpenCV 视频处理

热门文章

  1. 35-剑指 Offer 37. 序列化二叉树
  2. 跟南桑做一下第一个springboot项目
  3. 高新技术企业认定需要的审计报告
  4. ICLR 2022 | ORFD: 第一个开源的越野环境可行驶区域检测数据集
  5. 2019年区块链有什么规划
  6. 使用 React18 + Vite + TypeScript 完成公司项目经验总结,学到了很多
  7. TF乘法之multiply、matmul、*
  8. QNX操作系统及网络设备驱动模块-qnx设备驱动模块
  9. 多程序库计算机,单元程序库
  10. python带货_Python解析罗永浩直播带货背后的数据秘密!