作者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://webptt.com/cn.aspx?n=bbs/Python/M.1453892481.A.0D9.html
1F:推 ocean5566: hash table不会按照顺序 list才会 01/27 20:15
2F:→ ocean5566: 当然若你要按照顺序 PYTHONE也有内建的module可以用 01/27 20:15
4F:推 htc812: 真要有序字典的话有内建OrderedDict可以用 01/27 22:17
5F:推 ihon822: dict.keys()取出key 把key排序 再用排序过的key取值 01/27 23:34
6F:推 octantis: 你有用到字典,书上应该有提醒你dict里面是没顺序的 01/28 14:55
7F:→ octantis: 除非将key抓出来排,或使用OrderedDict才可以依序列出 01/28 14:56
8F:推 octantis: 2.要分别抓key及value在回圈就可以做了 01/28 15:15
9F:→ octantis: for k, v in student.items() 不用另设个si 01/28 15:17
10F:→ octantis: 要做出格式需要字串格式化 '%-10s%-10s' % (k, v) 01/28 15:18
11F:推 octantis: 如果你要依名称排 for k, v in sorted(student.items()) 01/28 15:26
12F:→ allan5411: 谢谢各位大大的回答,学到了很多!!真的非常感谢 01/28 22:50