【python學習筆記】4.字典:當索引很差用時

【python學習筆記】4.字典:當索引很差用時

字典是python中惟一內建的map類型python

建立:

key能夠爲任何不可改變的類型,包括內置類型,或者元組,字符串安全

經過大括號:

phonebook={'alice': '2341', 'beth':'9102'} 函數

經過dict函數

鍵值對列表作參數學習

>>> items=[("name", "Gumby"), ("age", 42)]
>>> dict(items)
{'age': 42, 'name': 'Gumby'}

鍵值對參數spa

>>> d = dict(name="Gumby", age=42)
>>> d
{'age': 42, 'name': 'Gumby'}

基本字典操做code

  • len(d) 鍵值對個數
  • d[k] 取值
  • d[k]=v 修改value
  • del d[k],刪除鍵爲k的項
  • k in d,是否存在鍵爲k的項

格式化字符串 %(key)type索引

>>> phonebook={"beth":"9102", "alice":"2341"}
>>> print "%(beth)s" % phonebook
9102
>>>

字典方法

  • clear:清除全部項,原地操做,無返回
  • copy:返回一個具備相同鍵值對的新字典,這裏實現的是淺複製,copy.deepcopy 能夠實現深複製
  • >>> x={"username":"admin", "machines":["foo", "bar", "baz"]}
    >>> x
    {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
    >>> y=x.copy()
    >>> y
    {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
    >>> y["username"]="mlh"
    >>> y["machines"].remove("bar")
    >>> y
    {'username': 'mlh', 'machines': ['foo', 'baz']}
    >>> x
    {'username': 'admin', 'machines': ['foo', 'baz']}
    >>> import copy
    >>> z=copy.deepcopy(x)
    >>> z
    {'username': 'admin', 'machines': ['foo', 'baz']}
    >>> z["machines"].remove("foo")
    >>> z
    {'username': 'admin', 'machines': ['baz']}
    >>> x
    {'username': 'admin', 'machines': ['foo', 'baz']}
    >>>
  • fromkeys:使用給定的key創建新字典,每一個key對應的默認值爲Nonerem

  • >>> {}.fromkeys(["name", "age"])
    {'age': None, 'name': None}
    >>>
    >>> dict.fromkeys(["name", "age"], "(unkonwn)")
    {'age': '(unkonwn)', 'name': '(unkonwn)'}
    >>>
  • get 安全訪問字典,當key不存在的時候返回None字符串

  • >>> a={}
    >>> a['a']
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    KeyError: 'a'
    >>> print a.get("a")
    None
    >>>
  • has_key 返回key是否存在get

  • items和iteritems,以列表形式返回字典中的項,列表中的元素爲字典中的項,iteritems會返回一個迭代器

  • keys和iterkeys,以列表形式返回字典中key

  • pop,獲取給定key的值,而後從字典中移除

  • popitem,彈出一個項

  • setdefault,獲取給定key的值,若是沒有則設置並返回默認值

  • update 參數字典中項會被添加到舊字典中,如有相同的key則進行覆蓋

  • values和itervalues 以列表的形式返回字典中值

相關文章
相關標籤/搜索