abs()
返回數(shù)字的絕對值
map
根據(jù)函數(shù)對指定序列做映射map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是可迭代對象,map將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的list返回。返回值:Python2返回列表Python3返回迭代器例子1:
defmul(x):
returnx*x
n=[1,2,3,4,5]
res=list(map(mul,n))
print(res)#[1,4,9,16,25]例子2:abs()返回數(shù)字的絕對值ret=map(abs,[-1,-5,6,-7])print(list(ret))#[1,5,6,7]
filter
filter()函數(shù)接收一個函數(shù)f(函數(shù))和一個list(可迭代對象),這個函數(shù)f的作用是對每個元素進行判斷,返回True或False,
filter()根據(jù)判斷結(jié)果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。
defis_odd(x):
returnx%2==1
v=list(filter(is_odd,[1,4,6,7,9,12,17]))
print(v)#[1,7,9,17]
map與filter總結(jié)
#filter與map總結(jié)
#參數(shù):都是一個函數(shù)名+可迭代對象
#返回值:都是返回可迭代對象
#區(qū)別:
#filter是做篩選的,結(jié)果還是原來就在可迭代對象中的項
#map是對可迭代對象中每一項做操作的,結(jié)果不一定是原來就在可迭代對象中的項
isinstance\type
isinstance()函數(shù)來判斷一個對象是否是一個已知的類型,類似type()。
isinstance()與type()區(qū)別:
type()不會認為子類是一種父類類型,不考慮繼承關系。
isinstance()會認為子類是一種父類類型,考慮繼承關系。
如果要判斷兩個類型是否相同推薦使用isinstance()。
#例一a=2print(isinstance(a,int))#Trueprint(isinstance(a,str))#False
#type()與isinstance()區(qū)別
classA:
pass
classB(A):
pass
print("isinstance",isinstance(A(),A))#isinstanceTrue
print("type",type(A())==A)#typeTrue
print('isinstance',isinstance(B(),A))#isinstanceTrue
print('type',type(B())==A)#typeFalse
zip拉鏈函數(shù)
#zip拉鏈函數(shù),
#將對象中對應的元素打包成一個個元組,
#然后返回由這些元組組成的列表迭代器。
#如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同。
print(list(zip([0,1,3],[5,6,7],['a','b'])))
#[(0,5,'a'),(1,6,'b')]
zip()函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
>>>a=[1,2,3]
>>>b=[4,5,6]
>>>c=[4,5,6,7,8]
>>>zipped=zip(a,b)#打包為元組的列表
[(1,4),(2,5),(3,6)]
>>>zip(a,c)#元素個數(shù)與最短的列表一致
[(1,4),(2,5),(3,6)]
>>>zip(*zipped)#與zip相反,可理解為解壓,返回二維矩陣式
[(1,2,3),(4,5,6)]
reduce
'''
reduce()函數(shù)
reduce()函數(shù)會對參數(shù)序列中元素進行累積
函數(shù)將一個數(shù)據(jù)集合(鏈表、元組等)中的所有數(shù)據(jù)進行下列操作
'''
注意:
Python3已經(jīng)將reduce()函數(shù)從全局名字空間里移除了,它現(xiàn)在被放置在fucntools模塊里,如果想要使用它,則需要通過引入functools模塊來調(diào)用reduce()函數(shù):
fromfunctoolsimportreduce
defadd(x,y):
returnx+y
print(reduce(add,[1,2,3,4,5]))
#15
print(reduce(lambdax,y:x+y,[1,2,3,4,5]))#15
print(reduce(add,range(1,101)))
#5050
以上內(nèi)容為大家介紹了Python之列舉常見的內(nèi)置函數(shù),希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構(gòu):千鋒教育。