目录
1.什么是函数式编程?什么是高阶函数?
函数式编程中的函数指的并不是编程语言中的函数(或方法),它指的是数学意义上的函数,即映射关系(如:y = f(x)),就是 y 和 x 的对应关系。
把函数作为参数传入,这样的函数称为高阶函数。
#注意被传入为参数的函数不叫高阶函数!
2.常见的高阶函数
2.1 map()
内置函数map,map()函数接受两个参数,一个是函数,一个是Iterable(可多个)
map将传入的函数异常作用到序列的每个元素,并把结果作为新的Iterator返回
#返回的迭代器可以使用list输出
2.1.1输出列表中每个元素的平方
#func为平方函数,作为参数传入map()中,a是一个列表,为可迭代对象
2.1.2两个列表元素相加
2.1.3将列表中的int类型转化为str类型
2.1.4将字符串中每个元素转化为ascii码值
2.1.5求列表中每个元素的绝对值
2.1.6保转化为百分数并保留两位小数
2.2 filter()
Python内建的filter()函数用于过滤序列。和map()类似,filter也接受一个函数和一个序列
filter()把传入的函数异常作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,filter()函数返回的是一个Iterator,
2.2.1输出奇数
2.3 reduce()
是一种可迭代对象的运算,通常用于将可迭代对象的所有成员"累积"为一个值
2.3.1将列表中所有字符拼接起来
2.3.2将列表中的数转化一个整数
2.3.3将字符串转化为整型(不使用int函数)
2.4sorted()
通过接受一个key函数来实现自定义排序,默认为升序
2.4.1默认排序
2.4.2绝对值排序
2.4.3降序排序
2.4.4按长度排序
2.4.5不区分大小写排序
2.4.6字典按value排序
2.4.7布尔排序
2.4.8 对元组进行排序
2.4.9抓小偷