Python-字典使用

  1. 創建:字典可嵌套
    {key1:value1,key2:value2}
    說明:字典是由多個鍵以及其對應的值組成的鍵值對組成的,字典以左大 括號開始,並以右大括號結束,鍵與值之間用冒號分隔,鍵值對兒之間用 逗號分隔;
    注意:字典中的鍵是唯一的
  2. 基本操作
    通用的有:
    len[d] , d[k] = v , del d[k] , k in d
    特點:
    第一點:鍵(key)的類型任意
    第二點:自動添加,key不存在的時候自動添加
    第三點 : 成員資格, k in d 找的是key,不是值value,而list中v in l 找的是value
  3. 字典方法:

    • clear:
      說明:用於清除字典中全部的鍵值對兒,調用完該方法後,原字典變成一 個空字典;
      注意:該方法直接操作原字典,調用後不返回值(或者說直接返回 None )

    • get:
      說明:是個更寬鬆的訪問字典項的方法,如果鍵在字典中,則返回值, 如果不在,返回空,也可以給不存在的鍵指定默認值
      說明:可以檢查字典中是否含有給出的鍵,python3中已經 不 包含此 項,可以用 k in dict 的方式代替

    • items和iteritems:
      說明:items以列表方式返回字典中的鍵值對,iteritems以迭代器對象 返回鍵值對兒(Python3中不再支持)

    • keys和iterkeys:
      說明:返回字典中的 鍵,iterkeys返回鍵的迭代器

    • pop:
      用於獲取給定鍵的值,並將該鍵值對從字典中移除
    • popitem:
      說明:用於隨機彈出字典中的鍵值對兒;可以用於清除一個字典
    • update:
      說明:將新字典中的鍵值對兒更新到原字典中,如果新字典中有的鍵值 對兒,原字典中沒有,則會在原字典中增加新鍵值對兒;
    • values和itervalues:
      參考上面的keys,items
    • copy和deepcopy:
      說明:用於創建一個新的字典,用兩種複製方法:copy和deepcopy
      注意:
      copy在複製過程中,如果字典中的 值 對象是複雜對象,如列表, 字典等等,則拷貝完後,新的字典中的 值 指向的還是原字典中的 對象,所以修改新對象中的 值 ,同時也是修改原字典中的值,但 是如果字典中的對象是普通類型,如是數字,字符串等,則修改新字 典不會影響原字典。
      copy 淺層複製
      deepcopy 深層複製
例子:
 1:  #copy的用法和效果

 2:  >>> x = {'Name' : 'Bill', 'Colors': {'red', 'green', 'blue'}}

 3:  >>> y = x.copy()

 4:  >>> y

 5:  {'Colors': ['blue', 'green', 'red'], 'Name': 'Bill'}

 6:  #刪除顏色列表中的 ‘red’

 7:  >>> x['Colors'].remove('red')

 8:  >>> x

 9:  {'Colors': ['blue', 'green'], 'Name': 'Bill'}

10:  #y字典中的顏色列表也發生的改變

11:  >>> y

12:  {'Colors': ['blue', 'green'], 'Name': 'Bill'}

13:  >>> 

14:  

15:  

16:  #deepcopy的用法和效果

17:  >>> from copy import deepcopy

18:  >>> x = {'colors':['red','green','blue'],'name':'Bill'}

19:  >>> x

20:  {'colors': ['red', 'green', 'blue'], 'name': 'Bill'}

21:  #將x深拷貝給y

22:  >>> y = deepcopy(x)

23:  >>> y

24:  {'colors': ['red', 'green', 'blue'], 'name': 'Bill'}

25:  #修改x

26:  >>> x['colors'].remove('red')

27:  >>> x

28:  {'colors': ['green', 'blue'], 'name': 'Bill'}

29:  #y沒有發生改變

30:  >>> y

31:  {'colors': ['red', 'green', 'blue'], 'name': 'Bill'}

32:  >>> 

33:  、`
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章