Python dict 為無序序列範例

首頁 >> 升級套件 >> 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 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發表迴響