【发布时间】:2017-07-16 18:06:22
【问题描述】:
我有一个list 的单词:
['apple', 'zoo', 'chicken', 'needle', 'car', 'computer']
我还有一个带有键和值的dictionary:
{'zoo': 42, 'needle': 32, 'computer': 18, 'apple': 39, 'car': 11, 'chicken': 12}
我的dictionary的key都来自单词list。如何对dictionary 进行排序,使其键的顺序与list 中的单词顺序相同?所以排序后,我的dictionary 应该是这样的:
{'apple': 39, 'zoo': 42, 'chicken': 12, 'needle': 32, 'car': 11, 'computer': 18}
非常感谢!
【问题讨论】:
-
字典不保留顺序。字典的可用排序版本是
collections.OrderedDict -
首先您应该知道字典在 Python 3.5 及以下版本中是un排序的。对于有序词典,您可以使用
collections.OrderedDict。 -
@jmd_dk 请原谅我劫持了这个问题的评论部分,但是字典真的在 Python 3.6 中排序吗?看起来我当时错过了文档的那部分。 Nvm 找到了文档! :)
-
@ViníciusAguiar 他们确实是。我推荐这个精彩的演讲来概述最近(和历史)对字典的变化:youtube.com/watch?v=npw4s1QTmPg
标签: python list python-3.x sorting dictionary