✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。
✍ 本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
✍ 订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 还可以订阅进阶篇《数据分析之术》,其包含数据分析方法论、数据挖掘算法原理、业务分析实战。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》
Python高级函数是一种可以将函数作为参数传递、返回函数作为结果的函数,通常应用于函数式编程和面向对象编程等领域。在Python中,常见的高级函数包括lambda函数、map()函数、filter()函数、reduce()函数等。
接下来,本文章将讲解常用的高级函数。
lambda函数也称为匿名函数,通常用于需要一个简单的函数,但不想为它专门定义一个函数的场合。它的语法格式为:lambda arguments : expression,其中arguments表示参数列表,expression表示函数体。
示例代码:
# 普通函数
def square(x):
return x * x
# lambda函数
square_lambda = lambda x: x * x
map()函数用于对序列中的每个元素应用某个函数,返回一个新的序列。其语法格式为:map(function, iterable),其中function表示应用的函数,iterable表示需要处理的序列。
示例代码:
# 对列表中的元素进行平方运算
lst = [1, 2, 3, 4, 5]
squared_lst = list(map(lambda x: x * x, lst))
lst列表的每个值自身相乘并输出:[1,4,9,16,25]
filter()函数用于过滤序列中的元素,返回一个符合条件的元素列表。其语法格式为:filter(function, iterable),其中function表示过滤的条件函数,iterable表示需要处理的序列。
示例代码:
# 从列表中过滤出大于3的元素
lst = [1, 2, 3, 4, 5]
filtered_lst = list(filter(lambda x: x > 3, lst))
lst列表中的中大于3的就输出:[4,5]
reduce()函数用于对序列中的元素进行累积操作,返回一个最终的累积结果。其语法格式为:reduce(function, iterable),其中function表示累积操作的函数,iterable表示需要处理的序列。
示例代码:
# 对列表中的元素进行累加运算
from functools import reduce
lst = [1, 2, 3, 4, 5]
sum_lst = reduce(lambda x, y: x + y, lst)
将多个序列按元素位置打包成元组,返回一个可迭代的zip对象。
示例代码:
x = [1, 2, 3]
y = ['a', 'b', 'c']
z = zip(x, y)
for i in z:
print(i)
any:判断可迭代对象中是否存在任意一个元素为True,存在则返回True,否则返回False。
示例代码:
a = [0, False, '', None]
b = [0, False, '', None, 1]
print(any(a)) # False
print(any(b)) # True
all:判断可迭代对象中所有元素是否均为True,均为True则返回True,否则返回False。
示例代码:
a = [1, True, 'hello']
b = [1, True, 'hello', '']
print(all(a)) # True
print(all(b)) # False
sorted:对可迭代对象进行排序,返回一个排序后的新列表。
示例代码:
a = [3, 2, 1]
b = sorted(a)
print(b)
enumerate:对可迭代对象中的元素进行编号,返回一个可迭代的enumerate对象,每个元素是一个元组,包含编号和元素值。
示例代码:
a = ['a', 'b', 'c']
b = enumerate(a)
for i in b:
print(i)
reversed:对序列进行反转,返回一个反转后的新序列。
示例代码:
a = [1, 2, 3]
b = reversed(a)
print(list(b))
以上是Python中常见的高级函数,掌握它们能够大大简化代码实现,提高代码的可读性和可维护性。
文章下方有交流学习区!一起学习进步!
创作不易,如果觉得文章不错,可以点赞收藏评论
你的支持和鼓励是我创作的动力❗❗❗