abs()
返回数字的绝对值
map
根据函数对指定序列做映射map()函数接收两个参数,一个是函数,一个是可迭代对象,map将传入的函数依次作用到序列的每个元素,并把结果作为新的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()返回数字的绝对值ret=map(abs,[-1,-5,6,-7])print(list(ret))#[1,5,6,7]
filter
filter()函数接收一个函数f(函数)和一个list(可迭代对象),这个函数f的作用是对每个元素进行判断,返回True或False,
filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新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总结
#filter与map总结
#参数:都是一个函数名+可迭代对象
#返回值:都是返回可迭代对象
#区别:
#filter是做筛选的,结果还是原来就在可迭代对象中的项
#map是对可迭代对象中每一项做操作的,结果不一定是原来就在可迭代对象中的项
isinstance\type
isinstance()函数来判断一个对象是否是一个已知的类型,类似type()。
isinstance()与type()区别:
type()不会认为子类是一种父类类型,不考虑继承关系。
isinstance()会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用isinstance()。
#例一a=2print(isinstance(a,int))#Trueprint(isinstance(a,str))#False
#type()与isinstance()区别
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拉链函数
#zip拉链函数,
#将对象中对应的元素打包成一个个元组,
#然后返回由这些元组组成的列表迭代器。
#如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
print(list(zip([0,1,3],[5,6,7],['a','b'])))
#[(0,5,'a'),(1,6,'b')]
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
>>>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)#元素个数与最短的列表一致
[(1,4),(2,5),(3,6)]
>>>zip(*zipped)#与zip相反,可理解为解压,返回二维矩阵式
[(1,2,3),(4,5,6)]
reduce
'''
reduce()函数
reduce()函数会对参数序列中元素进行累积
函数将一个数据集合(链表、元组等)中的所有数据进行下列操作
'''
注意:
Python3已经将reduce()函数从全局名字空间里移除了,它现在被放置在fucntools模块里,如果想要使用它,则需要通过引入functools模块来调用reduce()函数:
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
以上内容为大家介绍了Python之列举常见的内置函数,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。