zoukankan      html  css  js  c++  java
  • [ 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一个毛病?我靠,是谁借鉴了谁的思路吗?)
  • 相关阅读:
    能ping通Linux但是ssh连不上问题解决方法
    php遍历目录与文件夹的多种方法详解
    Apache与Nginx的优缺点比较
    Apache查看连接数和限制当前的连接数
    【MySql】性能优化之分析命令
    PHP实现各种经典算法
    301、404、200、304等HTTP状态
    常用服务器资源地址集合
    关于WAMP的apache 人多了就访问非常卡的问题解决方法
    HTML基础
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426726.html
Copyright © 2011-2022 走看看