摘要: s='abcde'print [None].extend(range(-1,-len(s),-1)) //返回Noneprint [None]+(range(-1,-len(s),-1))//返回[None, -1, -2, -3, -4]为什么会这样呢listA.extend(listB) 和 listA+listB 的效果都是把两个序列类型的元素相加,形成一个新的序列。 extend()的运算效率比+更高。因此我一直都使用extend方法做序列的合并。 但是,listA.extend(listB) 的返回结果是None,而不是合并后的序列。listA序列是合并后的序列。 l 阅读全文
posted @ 2011-04-08 23:59 淘小杰 阅读(166) 评论(0) 推荐(0) 编辑
摘要: function iter(n) {return ("" + Array(n + 1)). replace(/,/g, function(a, b) {return b;}). split("");}没有使用分组捕获时,replace(/,/,function(a,b){})参数a表示匹配到的结果,b表示该结果在原字符串中的位置,下标从0开始;使用分组捕获是a=原字符串,b=$1,c=$2 ......一次类推! 阅读全文
posted @ 2011-04-08 21:05 淘小杰 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 受正美博客里一篇文章的影响,突然想到一个数组去重的好方法var unique=function(arr){ return arr.join(" ").replace(/(\b\S+\b)(?=.*?\1)/g,'').replace(/^\s+/,'').split(/\s+/);}缺点:Qwrap的前辈们说这样写的性能不咋高,然后有些对象无法处理字符串和数字咋办undefined和'undefined'?null和‘null’非字符串元素直接的bug包括空格分割法安全? 阅读全文
posted @ 2011-04-08 13:13 淘小杰 阅读(880) 评论(0) 推荐(1) 编辑