Python – dict 資料型態物件

測試環境為 CentOS 8 x86_64 (虛擬機)

一般宣告的 List(串列)資料型態,其資料不好搜尋到,這時候可以使用 dict ( dictionary ),資料是由 key (鍵值,可使用 括字串(str),整數(int)與浮點數(float) ) + Value (值,可以為任何東西)

定義使用大括號{} 來表示為 dic ,內的格式為 key:valu ( pair 組成 並由逗點隔開) 如下.

Computer1={"CPU":"Intel" , "MEM":["Hynix 16G","Hynix 16G"] , "Disk":"Samsung"}

要存取 dic 只需指定其 Key 值(陣列可以指定位置).

[root@localhost ~]# vi dic1.py
Computer1={"CPU":"Intel" , "MEM":["Hynix 16G","Hynix 16G"] , "Disk":"Samsung"}
print(Computer1["CPU"])
print(Computer1["MEM"])
print(Computer1["MEM"][0])

執行結果.

[root@localhost ~]# python3 dic1.py
Intel
['Hynix 16G', 'Hynix 16G']
Hynix 16G
  • get (method)
    如資料不存在會回傳 Error ,建議透過 dic 的 get (method) 來存取.

    [root@localhost ~]# vi dic2.py
    Computer1={"CPU":"Intel" , "MEM":["Hynix 16G","Hynix 16G"] , "Disk":"Samsung"}
    print(Computer1["IO"])
    

    執行結果.

    [root@localhost ~]# python3 dic2.py
    Traceback (most recent call last):
      File "dic2.py", line 2, in <module>
        print(Computer1["IO"])
    KeyError: 'IO'
    
    [root@localhost ~]# vi dic3.py
    Computer1={"CPU":"Intel" , "MEM":["Hynix 16G","Hynix 16G"] , "Disk":"Samsung"}
    print(Computer1.get("CPU" , 'Not Found'))
    print(Computer1.get("IO" , 'Not Found'))
    

    執行結果.

    [root@localhost ~]# python3 dic3.py
    Intel
    Not Found
    
  • keys & values (method)
    要檢視 Key 值.

    [root@localhost ~]# vi dic4.py
    Computer1={"CPU":"Intel" , "MEM":["Hynix 16G","Hynix 16G"] , "Disk":"Samsung"}
    print(Computer1.keys())
    print(Computer1.values())
    

    執行結果.

    [root@localhost ~]# python3 dic4.py
    dict_keys(['CPU', 'MEM', 'Disk'])
    dict_values(['Intel', ['Hynix 16G', 'Hynix 16G'], 'Samsung'])
    

以下是 dic 物件的 method , 參考文件 – https://docs.python.org/3/library/stdtypes.html#typesmapping

  • list(d)
  • len(d)
  • iter(d)
  • clear()
  • copy()
  • get(key[, default])
  • items()
  • keys()
  • pop(key[, default])
  • popitem()
  • reversed(d)
  • setdefault(key[, default])
  • update([other])
  • update()
  • values()
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料