作为21世纪最流行的语言之一,Python当然有很多有趣的函数值得深入探索和研究。今天我就分享一下其中三个函数。
这三个函数可不简单,它们可以帮助我们避免编写循环,有时循环的运行成本是很高的。此外,这些函数还有助于提高运行速度。
————————map()—————————
map() 函数的作用是将另一函数作为参数,与某种数组放在一起,旨在将函数(作为参数而导入的函数)应用于数组中的每一个项。
eg:
data = [1,2,3,4,5]
def num_func(x):
return x**2/2
print(list(map(num_func,data)))
[0.5, 2.0, 4.5, 8.0, 12.5]
注:map() 本身将会返回一个map对象,因此需要将其转为为一个列:
————————reduce()———————
reduce()则不同,必须从functools模块将其导入。该操作主要是将一个给定的函数应用于项目组,然后返回一个值。
eg:
from functools import reduce
def num_add(a,b):
return a+b
data = [1,2,3,4,5]
print(reduce(num_add,data))
15
————————filter()————————
顾名思义这个函数的作用是只将满足特定条件的项保留在数组中。
与map()一样,预先声明函数,然后将其和迭代列表一起传递到 filter()。
def more_than_15(x):
return x > 15
data = [1,10,100]
print(list(filter(more_than_15,data)))
[100]
注:同样 filter()返回的也是数组哦