随笔分类 - python
摘要:对于python的dict数据类型常用for结合dict的items方法进行遍历for k,v in d.items(): print k,v还有种遍历方式利用dict的popitem方法进行遍历while d: k,v=d.popitem() print k,v这2种方法主要区别是什么呢,采用第一种方式遍历不会改变原变量,比如d={"a":1,"b":2,"c":3,"d":4}遍历后d还是这个值,第二种遍历后d={}对于可能会发生变化的dict采用第二种方式较为安全,采用for来遍历会产生不稳定的结果。具体例子
阅读全文
摘要:今天看到一段程序中有用到lambda函数,其实很简单 key=lambda (l,s):s猜我犯了个什么错误?自己把(l,s)理解成lambda的2个形参了,是蛮容易这样理解的哈,毕竟以前函数都是 def f(1,s):这样的然后自己调用时老提示错误,参数错误,于是就看了下官方文档才知道lmbda参数其实是这样的lambda x,y:x+yx,y是它的2个形参,所以这里 lambda (l,s)其实就只有一个参数,那就是一个tuple类型的参数,所以调用时就是key((x,y))这个错误是很容易犯啊;)>>> key=lambda(1,s):sSyntaxError: inv
阅读全文
摘要:import redef multiple_replace(text,adict): rx=re.compile('|'.join(map(re.escape,adict))) def one_xlat(match): return adict[match.group(0)] return rx.sub(one_xlat,text)print multiple_replace('abc123erts',{'a':'A','b':'B'})基本原理是 我们把要替换的字符串作为某个字典的key,对应的要
阅读全文
摘要:Decorators allow you to inject or modify code in functions or classes. Sounds a bit likeAspect-Oriented Programming(AOP) in Java, doesn't it? Except that it's both much simpler and (as a result) much more powerful. For example, suppose you'd like to do something at the entry and exit poi
阅读全文
摘要:给定一个字典d,直接d[key]=value,当key不是d的键时,会自动给d增加一个条目d={'name':'小c'}print dd['age']=21print d---------- Python ----------{'name': '\xd0\xa1c'}{'age': 21, 'name': '\xd0\xa1c'}我们可以用dict的setdefault方法来干这种事,比如我们正在创建一个由单词到页数的映射字典将每个单词映射到这个次出现过的页的页码构成
阅读全文

浙公网安备 33010602011771号