小甲鱼python
学习笔记:
一、lambda 表达式
lambda x:2*x+1
:前面是原函数参数,:后面是原函数返回值
g=lambda x:2*x+1
lambda x,y:x+y= def add(x,y):
renturn x+y
lambda的作用:1、省事、2、省人力物力
filter 内置函数 过滤器
filter(function or None, iterable)
前一个参数是筛选的方法,可以为空 ,后一个是筛选的对象。
list(filter(lambda x:x%2,range(10)))
list(1,5)的结果是1,2,3,4
map() 会根据提供的函数对指定序列做映射。
map(function, iterable, ...) iterable -- 一个或多个序列
二、递归
函数调用自身
设置递归的深度(默认100层就中断:保护措施)
sys.setfunctionlimit(100000000) function为函数名
递归 求阶乘
def jiecheng(x): 非递归版
result=x
for i in range(1,x):
result*=i
return result
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的语法格式如下:
for iterating_var in sequence: statements(s)
def jiecheng(n) 递归版
if n==1:
return 1
else:
return n*jiecheng(x-1)
if 语句
Python中if语句的一般形式如下所示:
递归的两个两个条件:
1,有调用自身的行为
2,有正确的返回值
递归有危险性
每次都要用栈操作,浪费资源
三、dict and 集合
字典是键值对,映射
集合具有唯一性,无序性,元素是唯一的不可索引的
创建集合: 1、一对花括号,2、set函数
set函数创建的集合是无序的
可以用for读取元素,也可以in和not in来验证是否在集合中
num=set([1,2,3,4,4,2,4])
num.add,num.remove
frozen 不可变集合