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))
哈哈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)
[{'python66': '来啦'}, {'我爱python66': '记住'}, {'python66太好啦': '小白福音'}]