python map函数用法详解


  python中的map()函数是一个内置的高阶函数,一般用法是map(function, iterable)。需要传入一个函数,这个函数可以是内置的,也可以是自己定义,也可以是匿名函数。第二个参数是一个可迭代对象,如列表,字符串等等。返回的是一个map对象,注意不是列表不能直接输出,可以通过for循环或者list()来显示。(python2返回的是列表)

  不多说,直接上代码,一看就明白了。

 

def square(x):
    return x*x
a=map(square,[1,2,3]) 
print(a)        
#输出为<map object at 0x0033CFB0>   可以看出map返回的实际上是一个map对象
print(list(a))  
#输出为[1, 4, 9]   通过list()方式 显示出来   

#也可以通过for循环来取出内容
ls=[]
for i in a:
ls.append(i)
print(ls)
#输出为[1, 4, 9]

 其实map,不止能传入一个可迭代对象做为参数。也可以传入两个。看例子就可以体会到这用法

ls1='ABC'
ls2='abc'
print(list(map(lambda x,y:x+y,ls1,ls2)))
#['Aa', 'Bb', 'Cc']

若是传入的多个可迭代对象长度不相同,则按最短的长度进行处理(这是针对python3的)。具体用法如下:

ls1='ABC'
ls2='ab'
print(list(map(lambda x,y:x+y,ls1,ls2)))
#['Aa', 'Bb']

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM