python常用内置函数原理用法,python内置函数大全解释
本文主要介绍Python中的六个内置函数,称之为不朽。今天分享的这六个内置函数,在使用Python进行数据分析或者其他复杂的自动化任务时,非常方便。有需要的朋友可以参考一下。
目录
Lambda函数映射函数减少函数枚举函数压缩函数过滤函数人生苦短,菜鸟学Python!
今天我们就来分享一下可以称之为神仙的六个内置函数。在许多计算机书籍中,它们通常作为高阶函数介绍。我经常在日常工作中使用它们来使代码更快更容易理解。
Lambda 函数
Lambda函数用于创建匿名函数,即没有名字的函数。只是一个表达式,函数体比def简单多了。当我们需要创建一个函数来执行单个操作,并且它可以用一行代码编写时,我们可以使用匿名函数。
[arg 1[,arg2,argn]]:表达式
lambda的主体是一个表达式,而不是代码块。lambda表达式中只能封装有限的逻辑。例如:
x: x 2
如果我们还想随时调用def定义的函数,可以将lambda函数赋给这样的函数对象。
add 2=x : x 2
添加2(10)
输出结果:
使用Lambda函数,代码可以简化很多。我们再举一个例子。
如上图所示,结果列表newlist是使用lambda函数用一行代码生成的。
Map 函数
map()函数将一个函数映射到一个输入列表的所有元素。
映射(函数,可迭代)
例如,我们首先创建一个函数来返回一个大写的输入单词,然后将这个函数应用于列表颜色中的所有元素。
def makeupper(word):
返回word.upper()
colors=[红色,黄色,绿色,黑色]
colors _ upper=list(map(make upper,colors))
颜色_大写
输出结果:
此外,我们还可以使用匿名函数lambda来匹配map函数,这样可以更加简洁。
colors=[红色,黄色,绿色,黑色]
colors _ upper case=list(map(lambda x : x . upper(),colors))
颜色_大写
如果不使用Map函数,就需要使用for循环。
如上图所示,在实际使用中,Map函数会比按顺序列出元素进行循环的方法快1.5倍。
Reduce函数
当你需要在一个列表上做一些计算并返回结果时,Reduce()是一个非常有用的函数。例如,当需要计算整数列表中所有元素的乘积时,可以使用reduce函数。[1]
它和function最大的区别是reduce()中的映射函数接收两个参数,而map接收一个参数。
reduce(函数,可迭代[,初始值设定项])
接下来我们用一个例子来演示reduce()的代码执行过程。
从functools导入减少
Add (x,y) : #将两个数相加
返回x y
数字=[1,2,3,4,5]
sum1=减少
(add, numbers) # 计算列表和
得到结果sum1 = 15,其代码执行过程如下方动图所示。
▲代码执行过程动图
结合上图我们会看到,reduce将一个相加函数add()作用在一个列表[1,2,3,4,5]上,映射函数接收了两个参数,reduce()把结果继续和列表的下一个元素做累加计算。
此外,我们同样可以使用匿名函数lambda来配合reduce函数,这样可以更加精简。
from functools import reducenumbers = [1,2,3,4,5]
sum2 = reduce(lambda x, y: x+y, numbers)
得到输出sum2= 15,与之前结果保持一致。
需要注意:Python3.x开始reduce()已经被移到functools模块里[2],如果我们要使用,需要用from functools import reduce导入.
enumerate 函数
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。它的语法如下所示:
enumerate(iterable, start=0)
它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号。
colors = [red, yellow, green, black]result = enumerate(colors)
如果我们有一个存放colors的颜色列表,运行后就会得到一个enumerate(枚举) 对象。它可以直接在for循环中使用,也可以转换为列表,具体用法如下所示。
for count, element in result:print(f"迭代编号:{count},对应元素:{element}")
Zip 函数
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表[3]。
我们还是用两个列表作为例子演示:
colors = [red, yellow, green, black]fruits = [apple, pineapple, grapes, cherry]
for item in zip(colors,fruits):
print(item)
输出结果:
当我们使用zip()函数时,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
prices =[100,50,120]for item in zip(colors,fruits,prices):
print(item)
Filter 函数
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表,其语法如下所示[4]。
filter(function, iterable)
比如举个例子,我们可以先创建一个函数来检查单词是否为大写,然后使用filter()函数过滤出列表中的所有奇数:
def is_odd(n):return n % 2 == 1
old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = filter(is_odd, old_list)
print(newlist)
输出结果:
今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便。
到此这篇关于Python中号称神仙的六个内置函数的文章就介绍到这了,更多相关python内置函数内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。