python学习笔记1

小甲鱼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语句的一般形式如下所示:

if condition_1:
  statement_block_1
elif condition_2:
  statement_block_2
else:
  statement_block_3

 

递归的两个两个条件:

 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 不可变集合

 

posted @ 2017-08-15 16:54  飘一下  阅读(143)  评论(0编辑  收藏  举报