上一页 1 ··· 19 20 21 22 23
摘要: arr=[[1,2,3],[4,2,3],[5,2,3]]x2=sorted(arr)print 'sorted',x2print '-'*20for ar in arr: ar.append('trap')print 'arr',arrprint 'sorted',x2结果:>>> sorted [[1, 2, 3], [4, 2, 3], [5, 2, 3]]--------------------arr [[1, 2, 3, 'trap'], [4, 2, 3, 't 阅读全文
posted @ 2013-10-23 12:54 LisPythoniC 阅读(236) 评论(0) 推荐(0) 编辑
摘要: >>> def dupu(t): return t>>> t=[1,2,3]>>> s=dupu(t)>>> s[1, 2, 3]>>> t.append(4)>>> s[1, 2, 3, 4]本来只想改变t列表,结果s列表也发生相同变化了.根本原因在于变量s和t都是指向同一个list对象.如何避免这种情况,让s和t相互独立?那就要让dupu返回一个新的list对象.>>> def dupu(t): return [i for i in t]>>> t 阅读全文
posted @ 2013-10-23 12:14 LisPythoniC 阅读(138) 评论(0) 推荐(0) 编辑
摘要: import randomdef randomlist(n): return [random.randint(0,100) for i in range(n)]def isorted(arr,key=None,reverse=False): if len(arr)key(line): big.append(ar) else: small.append(ar) else: for ar in arr[1:]: if ar>line: big.append(ar) ... 阅读全文
posted @ 2013-10-23 00:11 LisPythoniC 阅读(286) 评论(0) 推荐(0) 编辑
摘要: (define funcname (lambda (arg1 ... argn) exp1 ... expn))(define (funcname arg1 ... argn) exp1 ... expn)举例:#lang racket(define (addx x) (lambda (y) (+ y x)))(define addx8 (addx 8))(define addx9 (addx 9))(addx8 100)(addx9 100)(define addy (lambda (x) (lambda (y) (+ y x))))(define addy8 (a... 阅读全文
posted @ 2013-10-22 18:55 LisPythoniC 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 注意,此装饰器的设计前提是:对于相同参数,函数一定返回相同的值.如果某个函数,相同参数可能返回不同值,或者修改了一些外部数据,那么最好不要用此装饰器.有时候对于一些函数,我们需要用相同参数多次调用,且不方便将其预先储存在一个变量中.例如这种,假设有函数f,g,h,m:list=[[f(i),g(f(i)),h(g(f(i))),m(f(i))] for i in range(100)]那么,在计算g(f(i)),要先重复计算一次f(i),再计算g.h(g(f(i)))同理.如果这些函数的计算过程很复杂,那么就浪费了大量资源.再例如很经典的,非尾递归形式的斐波拉契函数:def fibonacci 阅读全文
posted @ 2013-10-22 13:46 LisPythoniC 阅读(360) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23