目录
一,map()的语法格式
定义:
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每一个元素,并把结果作为新的Iterable返回,返回的类型是map类型。
语法格式:map(function,iterable...)
参数:
function-我们指定的函数(或数据类型),可以是python内置的,也可以是自定义的。
返回值:
返回的是一个可迭代对象,且类型是map类型
二,map()的用法实例
1.类型转换
eg:
a = "1,2,3,4"
list_data = map(float,a)
for i in list_data:
print(i)
结果:
1.1 <class 'float'>
2.2 <class 'float'>
3.3 <class 'float'>
4.4 <class 'float'>
2.多个迭代对象引用
多个可迭代对象传递给map()函数,然后map()函数将这2个迭代对象传入自定义函数a()。
注意:这个自定义函数a()的参数个数,要与传入的可迭代对象数量一致。
def a(x, y): return x * y list_data1 = [1, 2, 3] list_data2 = [4, 5, 6] list_data3 = map(a, list_data1, list_data2) print(type(list_data3), list(list_data3)) list_data4 = map(lambda x, y: x * y,list_data1, list_data2) print(list(list_data4))结果<class 'map'> [4, 10, 18]
[4, 10, 18]
三、运行结果出现:<map object at 0x000001809CD03400>报错
在Python3中,运用map()函数,如果格式有误,就会出现上面的报错结果。
a = ['1','3','5']
b = map(int,a)
print(b)
print(type(b))
#输出结果
'''
<map object at 0x0000025781BBB610>
<class 'map'>
'''
列表a是我们定义的一个列表,map()函数将列表a中的值,抓转成int,此时返回的是一个迭代器b,它是一个map对象。如果想得到列表对象,则还需要调用list()函数,转化为列表对象。