# 内置函数
# filter,第一个参数 function 以参数序列中的每一个元素调用 function 函数
"""
1、有两个参数。第一个是自定义规则,第二个是列表
2、返回值是一个filter迭代器对象,详见迭代器
3、返回的迭代器对象中有过滤后的元素
"""
str1 = ['a', 'b', 'c', 'd']
def foo1(s):
if s != 'c':
return s
result1 = filter(foo1, str1)
print(list(result1)) # 转换成列表打印
# map,第一个参数 function 以参数序列中的每一个元素调用 function 函数
"""
1、有两个参数。第一个是自定义规则,第二个是列表
2、返回值是一个map迭代器对象
3、返回的迭代器对象中有处理后的元素
"""
str2 = ['1', '2', 'a', 'b']
def foo2(s):
return s + 'hello'
result2 = map(foo2, str2)
print(list(result2))
# reduce
from functools import reduce
"""
1、有两个参数。第一个是自定义规则,第二个是列表
2、reduce会根据规则进行运算
3、返回的是一个值
"""
def foo3(x, y):
return x + y
print(reduce(foo3, range(1, 101)))
# lambda表达式(匿名函数)
"""
1、lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。
"""
add = lambda x, y: x + y # ‘:’号前为形参,‘:’号后为计算表达式
print(add(2, 3))
# 绝对值
print(abs(-4))
# all的参数必须是可迭代的(能使用for循环,详见迭代器),如果有一个空元素返回False
print(all([1, 2, 3, 4]))
print(all([1, 2, 3, '']))
# 计算器,参数必须是字符串
print(eval('1+2'))
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。