python标准库内置了不少常用的高阶函数。
这里简单介绍一下比较实用的几个的用法。
首先,什么叫高阶函数?
高阶函数,把函数作为参数的函数,这是源于python中函数可以像变量一样赋值等操作,这是其他语言不支持的。
1.map
map(fun,list)是python内置的,它接受一个函数fun和一个list,通过把函数fun一次作用于每个元素上,得到新的list并返回,但是不会改变原有的list。
需要注意,这个func只可以有一个参数。而且返回的列表是map对象,可以进行大部分list的操作,但是一般排序等不可以,为了方便使用,见下面的3.
1.当list是一维的
def mul_Ten(n):
return n*10
l1 = [1, 2, 3, 4, 5, 6, 7, 8]
l2 = map(mul_Ten, l1)
print(l2)
for item in l2:
print(item)
2.当list包含多维
l1 = [1, 2, 3, [4, 5]]
l2 = map(mul_Ten, l1)
print(l2)
for item in l2:
print(item)
从结果上看,map是并行的,它将对象作为参数传递进去,而在python中list的乘就是重复n次,得到这个结果。
3.实际需求
l1 = list(map(int, input().split()))
l1.sort()
print(l1)