码迷,mamicode.com
首页 > 编程语言 > 详细

Python内置函数

时间:2019-09-21 12:31:51      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:多个参数   eva   表达式   for   判断   迭代   操作   lambda表达式   命令式   

系统内置函数:
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内置函数

标签:多个参数   eva   表达式   for   判断   迭代   操作   lambda表达式   命令式   

原文地址:https://www.cnblogs.com/zd37/p/11562133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!