Python内置函数
Posted zd37
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python内置函数相关的知识,希望对你有一定的参考价值。
系统内置函数:
abs() 取绝对值
all() 判断序列元素是否包含空元素,如果包含空元素,返回False。如果不包含空元素,返回True。
bool() 判断一个表达式是True或False
eval(‘1+3*2‘) 1.eval函数就是实现list、dict、tuple与str之间的转化 2.计算值
enumerate() 枚举,列出数据和索引
filter() 过滤
str=[‘a‘,‘b‘,‘c‘,‘d‘]
def fun1(s):
if s!=‘a‘:
return s
ret=filter(fun1,str)
print(list(ret))
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
两个参数,第一个为函数,第二个为序列。序列的每个元素作为参数传递给函数进行判断,返回True或False,最后将返回True的元素放到新列表中
python2.X返回列表
python3.X返回迭代器对象。
map()
str=[‘a‘,‘b‘,‘c‘,‘d‘]
def fun1(s):
return s+‘alvin‘
ret=map(fun1,str)
print(list(ret))
输出结果:
[‘aalvin‘, ‘balvin‘, ‘calvin‘, ‘dalvin‘]
map()会根据提供的函数对指定序列做映射。
第一个参数function以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表。
python2.x返回列表。
python3.x返回迭代器。
reduce()函数
from functools import reduce
def add1(x,y):
return x+y
print(reduce(add1,[1,2,3,4,5,6,7,8,9]))
reduce()函数会对参数序列中元素进行累计。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
lambda 匿名函数
传入多个参数的lambda函数
def sum(x,y):
return x+y
用lambda来实现:
p = lambda x,y:x+y
print(p(4,6))
传入一个参数的lambda函数
a=lambda x:x*x
print(a(3))
lambda匿名函数的格式:冒号前是参数,可以有多个,用逗号隔开,冒号右边的为表达式。其实lambda返回值是一个函数的地址,也就是函数对象。
利用reduce函数和lambda表达式实现阶乘:
form functools import reduce:
print(reduce(lambda x,y:x*y,range(1,6)))
函数式编程,相较于命令式编程更简单。
以上是关于Python内置函数的主要内容,如果未能解决你的问题,请参考以下文章