欢迎访问宙启技术站
智能推送

Python高级函数用法实践

发布时间:2023-06-27 03:06:04

Python中的高级函数是指那些能够接收其他函数作为参数或返回函数作为结果的函数。这种编程方式具有很大的灵活性和实用性。在本文中,我们将介绍一些实践中常用的Python高级函数的用法。

1. map 函数

map 函数可以将一个函数作用于一个序列的每个元素上,并返回一个由应用函数后的结果组成的新列表。

例如,如果我们有一个列表 a=[1,2,3,4],我们可以使用 map 函数将这些元素每个都平方:

a=[1,2,3,4]
b=map(lambda x:x**2,a)
print(list(b))

输出结果为:

[1, 4, 9, 16]

2. filter 函数

filter 函数是另一个常用的高级函数,用于过滤序列中的元素。它接受一个函数和一个序列作为参数,返回一个由符合函数筛选条件的元素组成的新列表。

例如,如果我们有一个列表 a=[1,2,3,4],我们可以使用 filter 函数筛选出其中所有大于2的元素:

a=[1,2,3,4]
b=filter(lambda x:x>2,a)
print(list(b))

输出结果为:

[3, 4]

3. reduce 函数

reduce 函数是 Python 中一个强大的函数,它实现了一个累加器,将某个序列中的所有元素累加起来。需要注意的是,reduce 函数在 Python 3 中已经从 built-in 函数中移除,需要从 functools 模块导入使用。

例如,如果我们有一个列表 a=[1,2,3,4],我们可以使用 reduce 函数将这些元素相乘:

import functools

a=[1,2,3,4]
b=functools.reduce(lambda x,y:x*y,a)
print(b)

输出结果为:

24

4. sorted 函数

sorted 函数用于排序一个列表,并支持自定义排序规则。它接受一个可迭代对象和一个可选的关键字参数 key,指定用于排序的函数。

例如,如果我们有一个列表 a=[3,1,4,1,5,9,2,6,5],我们可以使用 sorted 函数按照元素从小到大的顺序排序:

a=[3,1,4,1,5,9,2,6,5]
b=sorted(a)
print(b)

输出结果为:

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

如果我们想按照元素的绝对值从小到大排序,我们可以使用 sorted 函数的 key 参数:

a=[3,1,4,1,5,9,2,6,5]
b=sorted(a,key=abs)
print(b)

输出结果为:

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

5. zip 函数

zip 函数可以将多个序列按照相同的下标打包成一个元组,并返回一个由这些元组组成的列表。

例如,如果我们有两个列表 a=[1,2,3] 和 b=["a","b","c"],我们可以使用 zip 函数将它们打包:

a=[1,2,3]
b=["a","b","c"]
c=zip(a,b)
print(list(c))

输出结果为:

[(1, 'a'), (2, 'b'), (3, 'c')]

这些都是 Python 中非常常用的高级函数的用法,可以帮助我们更快更好地完成编程任务。在 Python 中,高级函数的使用不仅使代码更具可读性,而且还可以加速开发过程并减少错误的产生。