伊莉討論區

標題: python 的 dictionary [打印本頁]

作者: jerry821125    時間: 2014-7-26 11:52 AM     標題: python 的 dictionary





NBA={'name':'LBJ','numb':'6','position':'SF'}
print NBA.keys()
print NBA.values()
print NBA


#為什麼是印 NBA[2] NBA[0] NBA[1]的順序  ???



作者: pole987    時間: 2014-7-29 01:23 PM

本帖最後由 pole987 於 2014-7-29 01:24 PM 編輯

也許你應該去看他轉換成字串時 key 的順序是怎麼找出來的
根據觀察 他應該是根據字母排序的反向為依據
所以你的資料position -> nameb -> name 這樣順序輸出

可以試著把key對調觀察玩玩看~

作者: airyai    時間: 2014-8-19 09:59 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: liang628    時間: 2014-9-7 06:48 AM

我們知道Python的內置dictionary數據類型是無序的,通過key來獲取對應的value。可是有時我們需要對dictionary中 的item進行排序輸出,可能根據key,也可能根據value來排。到底有多少種方法可以實現對dictionary的內容進行排序輸出呢?下面摘取了 一些精彩的解決辦法。

#最簡單的方法,這個是按照key值排序:
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]
#又一個按照key值排序,貌似比上一個速度要快點
def sortedDictValues2(adict):
keys = adict.keys()
keys.sort()
return [dict[key] for key in keys]
#還是按key值排序,據說更快。。。而且當key爲tuple的時候照樣適用
def sortedDictValues3(adict):
keys = adict.keys()
keys.sort()
return map(adict.get, keys)





歡迎光臨 伊莉討論區 (http://a401.file-static.com/) Powered by Discuz!