1.内置函数
abs()
round()
print(abs(-6))#求绝对值
print(round(3.56))#四舍五入
运行结果
6
4
2.高阶函数
高阶函数:把一个函数作为参数传递给另外一个函数
实例一:绝对值加减法与四舍五入
def add_num(a,b):return abs(a)+abs(b)
print(add_num(-1,-2))
def num_add(a,b,f):return f(a)+f(b)
print(num_add(-1,2,abs))
print(num_add(3.2,8.6,round))
c=lambda a,b,f:f(a)+f(b)
print(c(-6,-4,abs))
运行结果
3
3
12
10
即函数内部使用内置函数或进行参数传递时第三个参数传入的是一个函数,也可以用lambda函数对其进行简化。
实例二:对列表中的每一个数据进行求平方
map(func,list):将传入的函数变量作用到列表中每一个元素,返回列表或迭代器。
list1=[1,2,3,4,5]
def sq(x):return x**2
result=map(sq,list1)
print(list(result))
运行结果
[1, 4, 9, 16, 25]
实例三:求列表中数据的累加和
reduce(func,list):func必须有两个参数,每次func计算的结果继续和list中下一个元素做累加计算。
import functools
list1=[1,2,3,4,5,4,5,6]
def sum(a,b):return a+b
result=functools.reduce(sum,list1)
print(result)
运行结果
30
实例四:过滤不符合条件的数据
filter(func,list):过滤序列,过滤掉不符合条件的元素,返回一个filter对象,list进行强制转换。
list1=[1,2,3,4,5,4,5,6]
def fun1(x):return x%2==0
result=filter(fun1,list1)
print(list(result))
运行结果
[2, 4, 4, 6]