- 登入
- 註冊
字典 dictionary 也是一種資料型態,它的概念就是來自於字典,用索引的方式儲存資料。就像是查字典一樣經由一個「關鍵字 Key」(字典的字本身),回傳對應的「值 Value」(對於那個字的解釋或是內容)給使用者。
大概跟大家介紹一下 dictionary的用法與原因,因為 dictionary 的原則就是 key + value,與 list 不同的是,dictionary 是沒有順序的,效率也會比用 list 的 for 迴圈來的好很多,以下大概分成幾個部分跟大家解釋 dictionary的用法。
dictionary 使用的方式要用大括號{}裝起來,關鍵字 key 只能是單一的文字(str)或數值(int、float),但對應值 Value 資料型態不限。
變數 = {關鍵字key:對應值value, 關鍵字key:對應值value}
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(type(a))
#也可以這樣使用
a = {}
a['上市公司'] = '台泥'
a['股票代碼'] = '1101'
print(type(a))
結果:
<class 'dict'>
<class 'dict'>
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(a['上市公司'])
print(a['股票代碼'])
結果:
台泥
1101
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(a.keys())
結果:
dict_keys(['上市公司', '股票代碼', '日期'])
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(a.values())
結果:
dict_values(['台泥', '1101', '0113'])
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(len(a))
結果:
3 # Key/value 算一組
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
a.clear()
print(a)
結果:
{}
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(max(a))
結果:
股票代碼
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(min(a))
結果:
上市公司
這邊跟大家分享個小技巧,如果想要取得 key 的清單,可以直接利用型態轉換來完成。
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(list(a.keys()) ) #獲取 key 串列資料型別
結果:
['上市公司', '股票代碼', '日期']
反之,value 對應值的清單也是一樣的喔!
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
print(list(a.values()) ) #獲取 values 串列資料型別
結果:
['台泥', '1101', '0113']
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
a.items()
print(a.items())
結果:
dict_items([('上市公司', '台泥'), ('股票代碼', '1101'), ('日期', '0113')])
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
a1 = {'市場別': '上市', '產業別':'水泥工業'}
a.update(a1)
print(a)
結果:
{'上市公司': '台泥', '股票代碼': '1101', '日期': '0113', '市場別': '上市', '產業別': '水泥工業'}
除了原本的 a = {} 的作法外,如果對於字典內容並不是固定的,有一個很好的新增方法。
a = {'上市公司': '台泥'}
a['股票代碼'] = '1101'
a['日期'] = '0113'
結果:
{'上市公司': '台泥', '股票代碼': '1101', '日期': ' 0113'}
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
a.pop('上市公司')
print(a)
結果:
{'股票代碼': '1101', '日期': '0113'}
除了 pop 可以刪除 key,使用 del 也可以刪除。
a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
del a["上市公司"]
print(a)
結果:
{'股票代碼': '1101', '日期': '0113'}
以上就是常見的字典進階操作,雖然一開始不知道會用在什麼時候,但一樣當需要用的時候,再來找就好。不需要去記下所有的使用方式。今天的介紹到這邊,如果有更多的想法,隨時再跟我說囉!
本系列會從 Python 基本的語法開始介紹,讓沒有程式背景的新手,也能開始用 Python 程式交易。如果你是進階的交易者,可以點擊連結觀看量化通其他 Python 進階文章,認識 爬蟲、實用套件、資產配置 等內容。
建議可以照順序閱讀,從零開始學習 Python: