作者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)
1F:推 EmptySmile:可能我表达不清楚, 不过还是感谢您热心回覆 12/07 03:35
2F:推 EmptySmile:另, 修改了一下上篇内文, 可能表达的会更清楚, thx 12/07 03:45