Python3常用内置方法代码实例
这篇文章主要介绍了Python3常用内置方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
max()/min()
- 传入一个参数(可迭代对象),返回这个可迭代对象中最大的元素
- 可以设置default关键字参数,当这个可迭代对象为空时,返回default的值
- 传入多个参数,返回这些参数中最大的参数
- 多个参数必须是同类型的
- 两种方法都可以设置key关键字参数(传入函数)
""" max(iterable,*[,default=obj,key=func])->value max(arg1,arg2,*args,*[,key=func])->value Withasingleiterableargument,returnitsbiggestitem.Thedefaultkeyword-onlyargumentspecifiesanobjecttoreturniftheprovidediterableisempty. Withtwoormorearguments,returnthelargestargument. """ res=max([1,2,3],default=0) print(res)#3 #传入了一个空的可迭代的对象参数,返回默认值0 res=max([],default=0) print(res)#0 lis=[1,2,3] deffunc(num): return-num #res=max(lis,key=func) res=max(lis,key=lambdanum:-num) print(res)#1 """ key参数接收的是一个函数对象 max函数会将lis里面的元素依次传入转换函数 哪个元素经过转换函数得到的值最大,就返回该元素 """
filter()过滤
- 第一个参数(形参),要么是func,要么是None,不传会报错
- 第二个参数是可迭代对象
- 返回一个filterobj(iterator)
- filter()方法会过滤掉:
- 本身布尔值为False的元素
- 经过函数处理后,返回值的布尔值为False的元素
""" filter(functionorNone,iterable)-->filterobject Returnaniteratoryieldingthoseitemsofiterableforwhichfunction(item)istrue.IffunctionisNone,returntheitemsthataretrue. """ """ 需要传入两个参数,第一个是函数或者None,第二个是可迭代对象 返回的是一个filterobj(迭代器) 如果第一个参数时None,则返回的迭代器中只包含可迭代对象中为True的元素 如果第一参数是一个函数,可迭代对象中元素传入该函数,结果为True,则filter方法返回的迭代器就会包含此元素 """ lis=[0,1,2,3] filter_obj=filter(None,lis) print(list(filter_obj))#[1,2,3] deffunc(num): ifnum>1: return0 filter_obj=filter(func,lis) print(list(filter_obj))#[] filter_obj=filter(lambdanum:num>1,lis) print(list(filter_obj))#[2,3]
map()映射
- 第一个参数必须是函数
- 后面可传入一个或多个可迭代对象参数
- 可迭代对象参数的个数,必须和函数的参数个数相同
- 多个可迭代对象包含的元素个数不一致,则以元素个数最少的那个为准
- 返回一个mapobj(iterator)
""" map(func,*iterables)-->mapobject Makeaniteratorthatcomputesthefunctionusingargumentsfrom eachoftheiterables.Stopswhentheshortestiterableisexhausted. """ deffunc1(x): returnx+1 """ 参数1:函数,参数2:可迭代对象 1.可迭代对象的中的元素依次传入函数得到返回值res 2.调用map函数最终会得到一个迭代器对象iterator 3.这个iterator就包含了res """ map_obj=map(func1,[1,2,3]) print(list(map_obj))#[2,3,4] deffunc2(x,y): returnx+y """ 传入的可迭代对象参数个数与函数所需要的参数个数是相等的 取值个数以最短的为准 """ map_obj=map(func2,[1,2,3],[1,2,3,4]) print(list(map_obj))#[2,4,6]
sorted筛选
- 第一个参数是可迭代对象
- 第二参数是key,第三个参数是reverse,这两个参数可不传
""" sorted(iterable,key,reverse)-->list Returnanewlistcontainingallitemsfromtheiterableinascendingorder. Acustomkeyfunctioncanbesuppliedtocustomizethesortorder,andthereverseflagcanbesettorequesttheresultindescendingorder. """ lis=[3,2,4,5,1] #1.只传入可迭代对象参数 res=sorted(lis) print(res)#[1,2,3,4,5] deffunc(x): return-x """ 2.当传入函数时,可迭代对象元素排序的依据是他们传入函数得到结果 注意:还是对原来的元素进行排序,而不是对元素传入函数得到的结果,只是以这个结果为排序的依据 """ res=sorted(lis,key=func) print(res)#[5,4,3,2,1]
reduce()减少
- 第一个参数是函数
- 该函数必须是有且只有两个参数
- 第二个参数是序列
- initial是初始值,可以当做序列的第一个元素
- 这个reduce指的是不断减少的是序列中的元素个数,直到序列只剩下一个元素,返回该元素
fromfunctoolsimportreduce """ reduce(function,sequence[,initial])->value Applyafunctionoftwoargumentscumulativelytotheitemsofasequence,fromlefttoright,soastoreducethesequencetoasinglevalue. Forexample,reduce(lambdax,y:x+y,[1,2,3,4,5])calculates((((1+2)+3)+4)+5). Ifinitialispresent,itisplacedbeforetheitemsofthesequenceinthecalculation,andservesasadefaultwhenthesequenceisempty. """ lis=[1,2,3,4,5] res1=reduce(lambdax,y:x+y,lis) print(res1)#15 res2=reduce(lambdax,y:x+y,lis,1) print(res2)#16
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。