python 字典类型问题_[ python ] 字典类型的一些注意问题

1) get()方法。 字典可以直接用a[b]的方式访问字典项,但如果b不存在时,会报异常。为了避免这种情况,可以使用get()方法来访问字典项,a.get(b)当b存在时,结果和a[b]一样,如果b不存在,不会报异常,而是返回None。除此之外,get()方法还可以设置第二个参数,如果b不存在,可以将第二个参数做为默认值返回。

====================================

a = {}

a["a"] = "A"

print a["b"]                   #=> 异常

print a.get("b")            #=> None

c = a.get("b") or "B"    #=> c为“B”,这更类似于我们写别的程序时 c = xxx || "B"的思路

c = a.get("b","B")        #=> c为“B”,在python中也可以使用这样的写法。

====================================

2) 列表可以使用pop()方法弹出最末尾的元素,也可以通过pop(n)弹出指定索引的元素。而字典也有类似的用法。a.popitem()方法可以弹出字典中的一个元素,但这个元素是随机的,因为字典本身是无序的。a.pop(key)可以弹出指定key的项,类似于列表的pop(n)。

3) update()方法。 update方法类似于yui的merge()和jQuery的extend()。合并两个字典对象。

===================================

a = {"a":"A","b":"B"}

b = {"c":"C","b":"ABC"}

a.update(b)

print a      #=> {"a":"A","b":"ABC","c":"C"}

===================================

4) items()和iteritems()方法都普遍用于for循环的迭代中,不同的是items()返回的是列表对象,而iteritems()返回的是迭代器对象。两者的用法差不多,但iteritems()的性能更快。

5) 字典有自己的copy()方法,但它只是浅复制,如果用深复制的话,需要使用copy模块的deepcopy方法。(怎么跟js一个毛病?我靠,是谁借鉴了谁的思路吗?)

posted on

2010-07-17 20:39

真阿当

阅读(60)

评论(0)

编辑

收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值