零、文件
[文件读写](https://blog.51cto.com/pmghong/1349978)一、函数
**1、匿名函数**lambda x: x+1
lambda <参数>:<返回值>
lambda只能有一个返回值
应用:
func = lambda x: x+1
func(10)
2.函数尾调用
在函数执行的最后一步调用另一个函数。
尾递归调用优化:
在函数调用的最后一步进行递归调用
3.高阶函数
高阶函数:函数的传入参数/返回值是一个函数名
(1)map函数
依次处理列表中的每一个元素
def test(func, args):
ret = []
for i in args:
ret.append(func(args))
return ret
test(lambda x:x+1, args)
map的第一个参数为函数对象(匿名函数或函数名均可),第二个参数为可迭代对象,返回结果为一个list,迭代器,只能迭代一次。
res = map(lambda x:x+1, num_l)
print(res)
(2)filter函数
获取符合条件的数据,返回值为True的值
res = map(lambda x:x.endswith('sb'), num_l)
(3)reduce函数
将整体的数据进行压缩(处理一个序列,对序列进行合并操作)
from functools import reduce
reduce(lambda x,y:xy,num_list)
reduce(lambda x,y:xy,num_list, start_num)
4.内置函数
eval()提取字符串中的数据结构
可hash的即为不可变数据类型
zip()拉链 将两个序列组成元组序列。如果两个序列长度不等,则根据最小长度的学列进行返回。
max()可以指定方法
list = [{‘name’:‘xx’,‘age’:30},{‘name’:‘yy’,‘age’:34}]
max(list,key= lambda dict: dict[‘age’])