【发布时间】:2014-01-26 05:08:50
【问题描述】:
我有一个看起来像的python dict
people {"mykey1": myCustomObject, "mykey2": myCustomObject }
在 myCustomObject 中,我有一个整数 ID 字段。所以看起来像
class myCustomObject:
def __init__(self, myID, firstName, lastName):
self.ID = myID
self.FirstName = firstName
self.LastName = lastName
是否可以通过自定义对象中的 ID 属性对该字典进行排序???
【问题讨论】:
-
dict实例从不被订购。 -
@IgnacioVazquez-Abrams 除非可以,否则通过使用 OrderedDict,这将是 dict 的一个实例(检查它!:
>>> import collections; d = collections.OrderedDict(); isinstance(d, dict)True -
@AaronHall:
OrderedDict是dict的子类实际上只是一个意外实现,所以你可能不应该依赖它;如果要检查它是否是类似字典的对象,请改用isinstance(d, MutableMapping)。但显然你是对的,你不应该假设它 not 是dict子类,特别是考虑到它实际上是一个子类,并且记录在案。 :) -
@abarnert 我知道,我只是在“聪明”。 :) 我刚刚实现了一个非 dict-inheriting MutableMapping 来回答另一个问题(我在这里碰巧问自己:stackoverflow.com/questions/21361106/…)
标签: python dictionary