摘要:
递归 超过最大递归深读限制会报错。 只要写递归函数,必须要有结束条件。 返回值 不要只看到return就认为已经返回了,要看返回操作是在递归第几层的时候发生的。然后返回给了谁。 如果不是返回最外层的函数,调用者接收不到。 需要在分析,看如何把结果返回回来。 作业 斐波那契,问第n个斐波那契数是多少? 阅读全文
摘要:
二分查找算法 必须处理有序列表。 例如查找下面列表的中23的索引。 [1,2,3,4,5,6,7,8,9,23,34,45,56,87,94] 代码实现: l = [1,2,3,4,5,6,7,8,9,23,34,45,56,87,94] def find(l,aim,start= 0,end = 阅读全文
摘要:
概念 在函数中调用自身函数。 例如一个简单的递归: def func(): print('套你大象') func() func() 最大递归深度默认998或997. 如果递归次数太多,就不适合使用递归来解决问题 缺点:占内存 优点:会让代码变得简单 年龄递归问题: a比b大2岁,b比c大两岁,c比d 阅读全文
摘要:
内置函数 def func(a): return a*a wo = lambda a:a*a print(wo(10)) print(func(6)) 注意: 当多个参数是,用逗号分割。 匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值 返回值和正常函数一样,可以是任意函数类型。 阅读全文
摘要:
今天去看了智博会,额!! 几乎都是是人脸识别大数据的。还有感觉不应该叫智博会,应该叫杂博会。连牙膏,饮料,避孕套他妈的都来展览!!!服气 阅读全文
摘要:
filter 过滤 def x_1(x): return x % 2 == 1 ret = filter(x_1,[1,2,3,4,5,6,67,78,8,9,]) for i in ret: print(i) filter接收两个参数,第一个是函数名,不能加(),第二个是可迭代的。filter会将 阅读全文
摘要:
reverse 反转 l = [1,2,3,4,5,6] l1 = reversed(l) for i in l1: print(i) 保留原列表,返回一个方向的迭代器 slice 切片(调用一个函数去切) x= [1,2,3,4,2,5,34,23] c= [1,2,3,4,2,5,34,23] 阅读全文
摘要:
exec和eval exec和evak都可以执行 字符串类型的代码evak只能用在你明确知道你要执行的代码是什么eval 有返回值,——适合有结果的简单计算exec 没有返回。——适合简单的流程控制 exec( 'print(123)') eval('print(123)') print(eval( 阅读全文
摘要:
callable 查看是否能够调用,并且只针对函数。并返回bool值。 print(callable(print)) a=2 print(callable(a)) help 帮助 help()可以查看并返回关键字及注释。 import 导入模块 open 对文件操作 hash 对于相同可以hash数 阅读全文
摘要:
生成器的特点,只能往后执行并只能取一边。 def demo(): for i in range(8): yield i g = demo() g1 = (i for i in g) g2 = (i for i in g1) print(list(g1)) print(list(g2))#g2打印出来 阅读全文