Python dict 為無序序列範例
在程式設計中,
一個序列是否有固定順序,
絕對是很重要的一件事,
今天就介紹下:
Python dict 為無序序列範例
現在就先來看看在不同的軟體下,
同一段程式碼呈現的差異:
在Pycharm的Python Console:
rank = {‘Nick’: {‘Coco’: 1, ‘Joker’: 5},’John’: {‘Coco’: 5, ‘Joker’: 1},’Kevin’: {‘Coco’: 4, ‘Joker’: 2},’May’: {‘Coco’: 1, ‘Joker’: 3}}
for n in rank:
print (n)
顯示結果為:
Nick
John
Kevin
May
但是同樣的一段Code,
在之前介紹過的Python Tutor中,
卻是呈現May , Nick , John , Kevin的順序。
其原因很簡單, 因為原始碼中的序列 rank 宣告為 dict , 而 dict 為無序序列。
若在此範例中,
要顯示有固定順序的序列該如何做呢?
有下列幾種方式:
1. 將 dict 轉為有序的 List
2. 建立一個 key List 當作順序的參照
3. 在 Python 3.6 版本之後,可使用有序字典 OrderedDict
以上幾種方式都能解決 dict 的順序問題, 這裡以第2種方法為範例:
若要照著人名 Nick , John , Kevin , May的順序顯示的話, 可寫為:
rank = {'Nick': {'Coco': 1, 'Joker': 5}, 'John': {'Coco': 5, 'Joker': 1}, 'Kevin': {'Coco': 4, 'Joker': 2}, 'May': {'Coco':1, 'Joker': 3}} #請在下方編寫code keys = ['Nick', 'John', 'Kevin', 'May'] for k in keys: print(k)
至於其他幾個方法,
就留待下次有機會再舉例說明。
================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================