详解python内置常用高阶函数(列出了5个常用的)

1. map:对序列中的每个元素执行相同操作

Python内置函数map()用于对给定序列中的每个元素执行相同的操作。其语法如下:

map(function, iterable, ...)

其中,function为处理序列元素的方法,iterable为待处理的序列,...表示可选参数。map()将对序列中的每个元素执行function的操作。

1.1 使用map()函数将序列中的元素都转为字符串类型

lst = [1, 2, 3, 4, 5]

lst = list(map(str, lst))

print(lst)

输出结果:

['1', '2', '3', '4', '5']

1.2 使用map()函数将序列中的元素进行平方计算

lst = [1, 2, 3, 4, 5]

lst = list(map(lambda x: x ** 2, lst))

print(lst)

输出结果:

[1, 4, 9, 16, 25]

2. filter:返回序列中满足条件的元素

Python内置函数filter()用于从给定序列中筛选出满足条件的元素组成的新序列。其语法如下:

filter(function, iterable)

其中,function为条件判断方法,iterable为待处理的序列。filter()将对序列中的每个元素执行function的操作,返回结果为True的元素被筛选出。

2.1 使用filter()函数筛选序列中的偶数

lst = [1, 2, 3, 4, 5]

lst = list(filter(lambda x: x % 2 == 0, lst))

print(lst)

输出结果:

[2, 4]

2.2 使用filter()函数筛选出序列中的负数

lst = [1, -2, 3, -4, 5]

lst = list(filter(lambda x: x < 0, lst))

print(lst)

输出结果:

[-2, -4]

3. reduce:累积计算序列中的元素

Python内置函数reduce()递归地对序列中的元素执行累积计算操作,其语法如下:

reduce(function, iterable[, initializer])

其中,function为累积操作方法,iterable为待处理的序列,initializer为可选参数,用于给定累积计算的初始值。

3.1 使用reduce()函数计算序列中的元素和

from functools import reduce

lst = [1, 2, 3, 4, 5]

s = reduce(lambda x, y: x + y, lst)

print(s)

输出结果:

15

3.2 使用reduce()函数将序列中的元素合并为字符串

from functools import reduce

lst = ['hello', 'world', 'python']

s = reduce(lambda x, y: x + ' ' + y, lst)

print(s)

输出结果:

'hello world python'

4. sorted:对序列进行排序

Python内置函数sorted()用于对给定序列进行排序操作,其语法如下:

sorted(iterable, *, key=None, reverse=False)

其中,iterable为待排序的序列,key为排序方法,reverse为布尔型参数,表示是否对序列进行倒序排序。

4.1 使用sorted()函数对列表进行升序排列

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst = sorted(lst)

print(lst)

输出结果:

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

4.2 使用sorted()函数对列表进行降序排列

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst = sorted(lst, reverse=True)

print(lst)

输出结果:

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

5. lambda:创建匿名函数

在Python中,lambda表达式用于创建匿名函数,其语法如下:

lambda arguments: expression

其中,arguments为函数参数,expression为函数表达式。

5.1 使用lambda表达式计算两数之和

f = lambda x, y: x + y

s = f(1, 2)

print(s)

输出结果:

3

5.2 使用lambda表达式将字符转为整型

lst = ['1', '2', '3', '4', '5']

lst = list(map(lambda x: int(x), lst))

print(lst)

输出结果:

[1, 2, 3, 4, 5]

以上是Python内置常用高阶函数的详细介绍,大家在编写Python程序时可以针对不同的情况选择不同的高阶函数进行使用,以提高程序的运行效率,同时让代码更加简洁。

后端开发标签