Python高级函数:5个实例解析
Python中的高级函数是指那些能够接收函数作为参数、或者返回函数作为值的函数。这种函数的应用非常广泛,可以帮助我们更加高效地编写代码和处理数据。在本文中,我们会介绍五个使用高级函数的实例。
1. 列表排序函数sorted()
Python中的sorted()函数可以用来对列表进行排序,该函数的 个参数为待排序的列表,其余的参数可以根据需要指定。例如,可以使用reverse参数来表示是否需要倒序排列,也可以使用key参数指定一个函数来作为排序的依据。示例代码:
# 按长度排序 mylist = ['hello', 'apple', 'banana', 'I', 'love'] mylist_sort_by_len = sorted(mylist, key=len) print(mylist_sort_by_len) # 按字母序排序 mylist_sort_by_char = sorted(mylist) print(mylist_sort_by_char) # 倒序排序 mylist_sort_reverse = sorted(mylist, reverse=True) print(mylist_sort_reverse)
2. map()函数
Python中的map()函数可以用来对列表中的每一个元素进行处理,并返回处理后的结果。该函数的 个参数为一个函数,用来对列表中的每一个元素进行处理,第二个参数为待处理的列表。示例代码:
# 计算平方数 mylist = [1, 2, 3, 4, 5] mylist_square = list(map(lambda x: x**2, mylist)) print(mylist_square) # 转换为字符串 mylist_string = list(map(str, mylist)) print(mylist_string)
3. filter()函数
Python中的filter()函数可以用来对列表中的每一个元素进行筛选,并返回符合条件的元素。该函数的 个参数为一个函数,用来判断某个元素是否符合条件,第二个参数为待处理的列表。示例代码:
# 筛选偶数 mylist = [1, 2, 3, 4, 5] mylist_even = list(filter(lambda x: x%2==0, mylist)) print(mylist_even) # 筛选长度大于等于5的字符串 mylist = ['hello', 'apple', 'banana', 'I', 'love'] mylist_long_str = list(filter(lambda x: len(x)>=5, mylist)) print(mylist_long_str)
4. reduce()函数
Python中的reduce()函数可以用来将列表中的元素进行累加或者累乘。该函数的 个参数为一个函数,用来进行累加或者累乘操作,第二个参数为待处理的列表。示例代码:
# 求和 mylist = [1, 2, 3, 4, 5] from functools import reduce mylist_sum = reduce(lambda x,y: x+y, mylist) print(mylist_sum) # 求积 mylist = [1, 2, 3, 4, 5] mylist_product = reduce(lambda x,y: x*y, mylist) print(mylist_product)
5. partial()函数
Python中的partial()函数可以用来部分应用一个函数并返回一个新函数。该函数的 个参数为一个函数,第二个参数为该函数的某些参数,该函数返回的新函数可以接受剩余的参数。这个函数非常有用,可以在需要传递相同的参数的情况下减少代码的重复性。示例代码:
# 自定义加法函数,使用partial()实现
from functools import partial
def add(x, y):
return x + y
add5 = partial(add, 5)
print(add5(6)) # 11
print(add5(10)) # 15
以上是Python中五个常用的高级函数,它们可以帮助我们更加高效地编写代码和处理数据。在实际开发中,我们可以根据需要使用这些函数,这将会使我们的代码更加简洁、易读和易于维护。
