来源:python中国网 时间:2020-04-06

  map() 函数的功能是对可迭代对象中的每个元素,都调用指定的函数,并返回一个 map 对象。

	  map() 函数语法如下:

	  map(function, iterable,iterable,...)

	  function 表示一个函数,可以是内置函数、自定义函数或者 lambda 匿名函数;

	  iterable 表示一个或多个可迭代对象,可以是列表、字符串等。

  同zip、enumerate等函数一样,我们可以用list(map对象)来输出数据

  注意点,map函数的返回值通过for循环输出后,再用list来输出是空列表;先通过list输出后,再循环输出也是没有数据的

# -*- coding: utf-8 -*-

lis = ['python66','我爱python66','python66太好啦']

def my_fun(s):
    return '哈哈' + str(s)

res = map(my_fun,lis)
print(res)

for i in res:
    print(i)

# 空列表
print(list(res))

<map object at 0x000001D6D67AE6D8>
哈哈python66
哈哈我爱python66
哈哈python66太好啦
[]



# -*- coding: utf-8 -*-

lis = ['python66','我爱python66','python66太好啦']
lis2 = ['来啦','记住','小白福音']

def my_fun(s,s2):
    return {str(s):str(s2)}


res = map(my_fun,lis,lis2)
print(res)

# 列表
print(list(res))

# 没有输出
for i in res:
    print(i)


<map object at 0x000002012822E828>
[{'python66': '来啦'}, {'我爱python66': '记住'}, {'python66太好啦': '小白福音'}]