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

8022 次点击
所在节点    Python
84 条回复
SharkIng
2016-01-23 11:50:47 +08:00
@fy https://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles 这里不是也提到了驼峰?感觉驼峰在命名规则里面还是很常见的。不过的确 Python 的程序很多都是_A_B 这样的命名,不过总的来说也不能完全说是错误的,最多只是习惯不符合标准罢了
mashpolo
2016-01-23 12:39:03 +08:00
json.dumps(studentGrades)
转成 json 数据打印出来就好了
Executable
2016-01-23 13:00:46 +08:00
@zeroten 北京市某知名大学
Cassandra
2016-01-23 13:05:50 +08:00
@Perry 好的谢谢
Cassandra
2016-01-23 13:06:08 +08:00
@yelite 以前什么样
Cassandra
2016-01-23 13:06:34 +08:00
@florije 他那个时候睡觉呢
Cassandra
2016-01-23 13:07:09 +08:00
@xiamingchong 我也想啊,这门课是学 python
Cassandra
2016-01-23 13:07:48 +08:00
@mashpolo 没学过,下次知道了
Cassandra
2016-01-23 13:08:14 +08:00
@Executable 都说在国外的初学者了,莫名被黑的赶脚
yelite
2016-01-23 13:19:05 +08:00
@Cassandra 记得是绿色背景,然后手里拿一个缩小版的对方,看上去挺有爱的
TheCure
2016-01-23 13:19:20 +08:00
orderDict 可以实现
但是 orderDict 在某些情况下不好用的话
我会用一个 list 维护顺序
chrishine
2016-01-23 14:20:50 +08:00
golang map value is unaddressable
zhanzhan
2016-01-23 14:31:25 +08:00
悄悄岔一下 晚点再看
RqPS6rhmP3Nyn3Tm
2016-01-23 14:42:19 +08:00
@SharkIng 的确, Python 驼峰似乎用的不多,较多的还是下划线
我本来是驼峰的,被硬生生改过来了
tairan2006
2016-01-23 15:22:57 +08:00
也是醉了…用哈希表初始化红黑树。。

python 只有类名是驼峰的,其他的基本全是下划线,参考 PEP8
ethego
2016-01-23 15:26:01 +08:00
@SharkIng pep8 不建议使用驼峰做变量和函数名
chuan
2016-01-23 15:46:59 +08:00
字典要有序的思想是不是从 C++那里来的啊, C++里的 map 默认是有序的(一般是二叉树实现), unorderd_map 是无序的( hash 表实现),在直接读取上, unorderd_map 应该更快。 python 里默认 dict 是无序的,不过 unorderd_dict 依然还是 hash 表实现,读取速度上表现应该相当,其他方面的损失我就不太清楚了。
chuan
2016-01-23 15:53:52 +08:00
不好意思,上面一条的 python unorderd_dict 写错了,是 collections.OrderdDict ,囧
chuan
2016-01-23 15:55:25 +08:00
又拼错了,是 collections.OrderedDict 。。。。忽略我。。。。
kqz901002
2016-01-23 15:57:11 +08:00
@fy 没有看到哪个文档说 python 不用驼峰法则的,我觉得驼峰也没什么

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

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

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

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

© 2021 V2EX