作者uranusjr (←這人是超級笨蛋)
看板Python
標題Re: [問題] 關於dict下一個key的問題
時間Tue Dec 7 03:18:55 2010
※ 引述《EmptySmile (Smile LikeThe EmptySoul)》之銘言:
: 假設
: test = {1:10, 3:30, 5:50} #key並非順序的, 所以無法直接+1去讀取
: 如何使test在for中能夠讀取下一個key?
: 小弟能想到的只有
: key = test.keys() #先把test中的key抓出來變成list
: for i in range(0, len(key)):
: try:
: print test[key[i+1]]
: except:
: pass
: 用這種方式, 讀取下一個key的值
: 應此想請教各位高手
: dict能否呼叫個function, 就直接讀取下一個key呢?
: 感謝
又稍微找了一下, 才發現有個方法...
參考
http://wiki.python.org/moin/HowTo/Sorting/
dict 裡面的 pairs 不能被 sort, 可是 item keys 可以
(當然 item values 也可以不過這裡不重要)
所以...
test = {9:10, 11:60, 4:38, 1:10, 3:30, 5:50}
for key in sorted(test):
print '{0:2d}: {1}'.format(key, test[key])
結果
==============
1: 10
3: 30
4: 38
5: 50
9: 10
11: 60
==============
這樣好多了
剛好前幾天才碰到類似的問題, 早知道就這樣寫...
--
╱ ̄ ̄ ̄╲
▏
◢█◣ ▏
︻█︻█ ▏
成龍表示: 是喔...
′/ ‵ ▏
╰╯ █╱
ψQSWEET ◥︶█◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146
※ 編輯: uranusjr 來自: 114.32.81.146 (12/07 03:19)
推 EmptySmile:可能我表達不清楚, 不過還是感謝您熱心回覆 12/07 03:35
推 EmptySmile:另, 修改了一下上篇內文, 可能表達的會更清楚, thx 12/07 03:45