python高级语法-高阶函数之map的使用方法

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)

猜你喜欢

转载自blog.csdn.net/zhouchen1998/article/details/81587840