对不起,我不能保留字典"命令"

时间:2015-06-22 23:30:55

标签: python dictionary

python documentation有教程(附在下面),但我不断收到错误message" NameError:name' OrderedDict'未定义"

不确定有什么问题,我很确定我的python是2.7+(应该支持排序的字典)

>>> # regular unsorted dictionary
>>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

>>> # dictionary sorted by key
>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

>>> # dictionary sorted by value
>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])

>>> # dictionary sorted by length of the key string
>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])

1 个答案:

答案 0 :(得分:4)

来自collections

  

该模块实现了专门的容器数据类型,为Python的通用内置容器,dict,list,set和tuple提供了替代方案。

这意味着collections.OrderedDict不是内置容器,您应该导入它:

from collections import OrderedDict