作者allan5411 (達)
看板Python
標題[問題] 關於字典以及序列的排序問題
時間Wed Jan 27 19:01:18 2016
各位大大好,
今天在練習python時遇到一個問題,我在google上,
卻不知道該怎麼搜尋並解決此問題,
因此上來麻煩各位大大幫忙解惑
http://miupix.cc/pm-ZOMMR8
這是我的程式圖
http://miupix.cc/pm-ZOUDX5
這是我執行出來的圖
有兩個問題想要請教一下各位,
1.
為何他呈獻的順序,跟我輸入的順序不同
不才用很多組數據輸入進去想要找他的規則
(該圖為其中一組)
但最後還是鍛羽而歸,想請各位大大幫忙解惑。
2.
其實這支程式 我最後是想要做成
Student Grade
student1 A
student2 D
student3 B
student4 A
只是我不清楚要怎麼弄成這個樣子出來,
因為這些人名都是使用者手動輸入,
系統應該不會那麼早就是知道,key跟value的值
但除了dict['key'] = value
這樣單獨把他呈現出來,
我找不到其他方法。
懇請各位大大開示,不才該如何處理或是搜尋關鍵字要打甚麼?
我閱讀的書 是Python 入門經典 此為他的練習題之一
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.206.130.82
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1453892481.A.0D9.html
推 ocean5566: hash table不會按照順序 list才會 01/27 20:15
→ ocean5566: 當然若你要按照順序 PYTHONE也有內建的module可以用 01/27 20:15
推 htc812: 真要有序字典的話有內建OrderedDict可以用 01/27 22:17
推 ihon822: dict.keys()取出key 把key排序 再用排序過的key取值 01/27 23:34
推 octantis: 你有用到字典,書上應該有提醒你dict裡面是沒順序的 01/28 14:55
→ octantis: 除非將key抓出來排,或使用OrderedDict才可以依序列出 01/28 14:56
推 octantis: 2.要分別抓key及value在迴圈就可以做了 01/28 15:15
→ octantis: for k, v in student.items() 不用另設個si 01/28 15:17
→ octantis: 要做出格式需要字串格式化 '%-10s%-10s' % (k, v) 01/28 15:18
推 octantis: 如果你要依名稱排 for k, v in sorted(student.items()) 01/28 15:26
→ allan5411: 謝謝各位大大的回答,學到了很多!!真的非常感謝 01/28 22:50