强迫症已被 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

8008 次点击
所在节点    Python
84 条回复
Cassandra
2016-01-23 01:35:52 +08:00
@fy 好的好的谢谢啦~~已经改好了
Cassandra
2016-01-23 01:39:56 +08:00
@BXIA 因为是学校的课程嘛~~之前自学 2.7 因为不是电脑专业,也就因为其他的事情耽搁了好久。现在刚好选修课不够就捡起来学呗~~~

至于 list ,我主要觉得调用太麻烦, dictionary 这种 key-value 对定的方式我觉得比较简单啦~~(其实就是懒=_=
zeroten
2016-01-23 01:40:26 +08:00
好奇哪个学校教 Python ?
Cassandra
2016-01-23 01:42:45 +08:00
@zeroten 不是国内的学校啦~~这个只是作为电脑专业的基础课程啦~~~像我这种非专业的人就只能学学这种基础的东西,算法什么都接触不到呢⊙﹏⊙
RqPS6rhmP3Nyn3Tm
2016-01-23 01:42:59 +08:00
@Cassandra 最近写爬虫我也在折腾 Python …同好奇哪个学校会教?
Cassandra
2016-01-23 01:46:28 +08:00
@BXIA 回复看 24 楼,国内都教什么呢?
RqPS6rhmP3Nyn3Tm
2016-01-23 01:55:15 +08:00
@Cassandra 不知道……即将出国党……
RqPS6rhmP3Nyn3Tm
2016-01-23 01:57:05 +08:00
@Cassandra 是北美吗?似乎那边教 Python 的比较多啊
Cassandra
2016-01-23 01:57:39 +08:00
@BXIA 好吧,加油哦
20015jjw
2016-01-23 04:47:14 +08:00
@Cassandra 根据这个时间线... lz 你是三学期的学校?
Cassandra
2016-01-23 06:01:16 +08:00
@BXIA 是在北美
Cassandra
2016-01-23 06:02:41 +08:00
@20015jjw 我不太清楚国内的设置,但是北美的学校都这个时间啊,欧洲也差不多吧
SharkIng
2016-01-23 06:42:44 +08:00
@BXIA 北美主要是用 Python 的比较多,所以教的也多,但是也不是所有学校都是这样,另一个朋友的学校是学 C ,四年全部是 C 和概念课,根本不知道 Python 和 Java 是什么,好奇怪...


@20015jjw 这个和三学期有什么关系,哈哈


@fy 驼峰不驼峰好像没有硬性规定吧?只是一个习惯问题,有些人喜欢驼峰有些人不喜欢而已....
Perry
2016-01-23 07:00:33 +08:00
题外话,学完 python 建议学下 Java 的 Data Structure
yelite
2016-01-23 08:12:25 +08:00
情侣头像好赞,和以前的画风不一样了
DuckJK
2016-01-23 08:31:17 +08:00
florije
2016-01-23 08:33:35 +08:00
按照你输入的顺序来输出的话最简单的就是 OrderedDict 了的,他能记录你放入的顺序。
from collections import OrderedDict

sap_dict = OrderedDict()
sap_dict['A'] = 1
sap_dict['B'] = 2
sap_dict['C'] = 3

print(sap_dict)
for key, value in sap_dict.items():
print(key, value)

result :
OrderedDict([('A', 1), ('B', 2), ('C', 3)])
A 1
B 2
C 3
florije
2016-01-23 08:34:25 +08:00
不过话说你的程序猿小伙伴没能帮你解决么~
xiamingchong
2016-01-23 09:27:09 +08:00
换用世界上最好的语言,就不会遇到这种问题
fy
2016-01-23 11:09:04 +08:00
@SharkIng PEP8 ,用的最普遍的编码标准。当然 java 也可以不用驼峰,但谁没事这么做呢?

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

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

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

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

© 2021 V2EX