强迫症已被 python 的 dictionary 逼疯

2016-01-23 00:49:06 +08:00
 Cassandra

本来不想上 V2 来问的啊,可是一想到这问题我就要疯啊啊啊啊
强迫症已撞死在墙上{>~<}
有没有可能 按照我输入的顺序 print 一个 dictionary 的 key

例如说,我现在有 有一个 dictonary 输入为
studentGrades = {'Steven':90, 'Chole':70,'Bob':100}
print(studentGrades)

如果不作任何改变,这个 print 的 result 在某种程度上是 random
可是我想按照我输入的顺序来了,也就是 output 从 Steven 到 Chole 到 Bob

我现在只能做到按照字母顺序来排列,也就是 Bob, Chole, Steven

我试过什么 orderedDict 什么的,但是不 work ,我也不知道是不是我写错了

不改过来总觉得作业没有写完,都不想交了%>_<%

求大家帮帮忙,求轻喷
顺便说一句是 python3.5

8026 次点击
所在节点    Python
84 条回复
fy
2016-01-24 14:32:17 +08:00
@kqz901002 还撕,没完了是吧
kqz901002
2016-01-24 22:42:12 +08:00
@fy oh, 我好像看错了, sorry
LokiSharp
2016-01-25 15:24:31 +08:00
处理字典我会这样加一段

t = list()
for key,val in dictionary
t.append((val,key))
t.sort(reverse=True)
kkzxak47
2016-01-26 22:45:33 +08:00
不想用 OrderedDict 的话,那就配合一个 list 或者 tuple 来用好了。

比如 lst = ['alice', 'bob', 'clare']
d = {'clare': 100, 'bob': 90, 'alice': 80}
for key in lst:
print(key, d[key])

('alice', 80)
('bob', 90)
('clare', 100)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252765

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX