嗨客网搜索

Python map函数

Python map函数教程

Python 中的 map() 函数是一个内置的高阶 函数,map 函数会根据传入的函数对指定序列做映射。

Python map函数详解

语法

map(function, iterable, ...)

参数

参数 描述
function 我们需要传入的函数,这个函数可以是内置的,也可以是自己定义,或者是 匿名函数
iterable 一个可迭代对象,如 列表字符串元祖字典 等等。

返回值

返回的是一个 map 对象,注意不是列表不能直接输出,可以通过 for 循环 或者 list() 来显示。

案例

Python map函数

Python map 函数可以传入内置函数

print("嗨客网(www.haicoder.net)") map_abs = map(abs, [1, -2, -3]) for val in map_abs: print("map_abs =", val)

程序运行后,控制台输出如下:

61_python map函数.png

我们使用 map 函数,第一个参数传入了内置的 abs 函数,第二个参数传入了一个列表,列表中有三个元素。

最后,我们使用 变量 map_abs 来接受 map 函数对列表每个元素处理后的返回值,我们发现,输出了我们传入的列表的每个元素的绝对值。

即,我们通过 map 函数上实现了求传入的 list 的每个元素的绝对值,并返回一个新的 list 的功能。

Python map函数

Python map 函数可以传入自定义函数

print("嗨客网(www.haicoder.net)") def cube(x): return x*x*x map_cube = map(cube, [1, 2, 3]) for val in map_cube: print("map_cube =", val)

程序运行后,控制台输出如下:

62_python map函数.png

我们使用 map 函数,第一个参数传入了我们自定义的 cube 函数,该函数实现的功能就是求我们传入的参数的立方,第二个参数传入了一个列表,列表中有三个元素。

最后,我们发现,我们实现了求传入的列表的每个元素的立方的功能。

Python map函数

Python map 函数可以使用 lambda 表达式

print("嗨客网(www.haicoder.net)") map_vals = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) for val in map_vals: print("map_val =", val)

程序运行后,控制台输出如下:

63_python map函数.png

我们使用 map 函数加上 lambda 表达式实现了求我们传入的两个列表的每一项相加的结果。

Python map函数总结

Python 中的 map() 函数是一个内置的高阶函数,map 函数会根据传入的函数对指定序列做映射。Python map 函数语法:

map(function, iterable, ...)
嗨客网顶部