1. 程式人生 > >Python學習筆記——字典

Python學習筆記——字典

返回 key) list 遍歷 比較 特點 val name rsquo

字典(dict):以鍵值對方式存在的無序數據的組合就是字典,為什麽這麽說呢,大家都知道我們所學到的序列如列表,集合等都是只能存放單個數據,如果想存放有關聯性的數據是比較麻煩的,比如說我們想讓一個人的姓名與他的性別對應起來存儲,這時候用列表等就比較麻煩,這時我們就引出了字典這個概念,

定義:以鍵值對方式存在的無序數據的組合就是字典,

特點:字典存儲數據時是以鍵值對的方式進行存儲,所謂的鍵值對(Key&values)就是說一個鍵對應一個值,那麽相關聯的數據也就可以存儲啦

格式: dicts = { ‘a’ : ‘A’ } #註意此時數據是以冒號連接的,標識符號為大括號 {} 。

字典的簡單創建

  1.創建一個空字典

    dicts = {} 或者 vardict = dict()

  2.創建有多個數據的字典

    2.1 dicts = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘ }

    2.2 dicts = dict ( { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘ } )

    2.3 dicts = dict(a = ‘A‘,b = ‘B‘,c = ‘C‘)

    2.4 lists = [

         [‘a‘,‘A‘],

         [‘b‘,‘B‘]

        ]

      res = dict(lists) ——> print(res) #註意,列表轉字典時只能這種結構轉換

    2.5 keys = [‘a‘,‘b‘,‘c‘]

      values = [‘A‘,‘B‘,‘C‘]

      res = dict(zip(keys,values))

      print(res) #這種格式也可以得到字典

字典的基本操作:

  創建一個使用字典: vardict = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘,‘d‘:‘D‘,‘e‘:‘E‘,‘f‘:‘F‘ }

  1.訪問字典中的值

    print ( vardict [ ‘b‘] ) #訪問時書寫字典的key,可以得到字典的value

  2.修改字典

    vardict[‘e‘] = EE #此時操作就會將原有的e對應的E改成EE

    vardict[‘g‘] = G  #在字典中增加一個鍵值對 g->G

  3.刪除字典

    del vardict [‘c‘] #次操作刪除了原有字典c所對應的鍵值對

  4.成員檢測

    print( ‘c‘ in vardict) #檢測成員c是否在字典vardict中,這樣只能檢測key

字典的遍歷操作

  方法一:#先遍歷鍵,在取值

    for i in vardict:

      print( i, vardict [ i ] )

  方法二:同時遍歷鍵和值

    for x,y in vardict.items():

      print(x,y)

字典推導式

  創建所用字典

    vardict = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘‘ }

    vardict2 = { ‘name‘:‘老王‘,‘age‘:‘23‘,‘sex‘:‘man‘}

  1.普通推導式

    print( { ‘*‘ + k + ‘*‘ : ‘*‘ + k + ‘*‘ for k,v in vardict.items() })

  2.帶有判斷條件的表達式

    print ( k:v for k,v in vardict2.items() if len(2) == 2 })

  3.多循環的字典表達式

    print( {a+x : b+y for a,b in vardict.items() for x,y in vardict2.items()})

字典的相關函數  

   創建所用字典

      vardict = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘‘ }

  1.clear() 清空字典

    vardict.clear() #此操作會清空字典的所有內容,請註意

  2. copy() 復制字典

    new_vardict = vardict.copy()

  3. fromkeys() 使用序列(當做字典的key)和指定的值做一個字典

    lists = [1,2,3,4,5,6]

    new_vardict = dict.fromkeys(lists,‘Python‘) 或者 new_vardict = ‘ ’.fromkeys(lists,‘Python‘)

  4.get() 獲取字典中指定鍵的值

    vardict.get (‘a‘ ,‘返回值‘) #等價於 var[‘a‘] #註意get有返回值,查詢未果為後面的返回值

  5.setdefault() 向字典中添加一個元素(不存在的鍵添加,存在的鍵不動)

    vardict.setdefult(‘f‘,‘F‘)

  6.update()修改字典中的元素

    vardict.update(a = ‘A‘) 或者 var.update({‘a‘:‘A‘})

  7.pop()刪除字典中指定的元素

    vardict.pop(‘b‘)

  8.popitem()隨機刪除字典中的一個元素

    vardict.popitem()

  9.keys()獲取字典中的所有鍵組成的容器

    print(var.keys())

  10.values()獲取字典中的所有鍵組成的容器

    print(var.values())

  11.items()獲取字典中的所有鍵和值組成的容器

    print(vardict.items())

#註:若有錯誤或疑問可郵件:[email protected]

Python學習筆記——字典