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程序时可以针对不同的情况选择不同的高阶函数进行使用,以提高程序的运行效率,同时让代码更加简洁。