Python 如何获得orderedDict中具有最小值的对象?

Python 如何获得orderedDict中具有最小值的对象?,python,object,attributes,ordereddict,Python,Object,Attributes,Ordereddict,我有一大堆东西 [<f.Packet object at 0x07AD7090>, <f.Packet object at 0x07ACA8F0>, <f.Packet object at 0x07ACAC90>, <f.Packet object at 0x07A5F5D0>, <f.Packet object at 0x07ACA410>, <f.Packet object at 0x07ABBF50>, <f.

我有一大堆东西

 [<f.Packet object at 0x07AD7090>, <f.Packet object at 0x07ACA8F0>, <f.Packet object at 0x07ACAC90>, <f.Packet object at 0x07A5F5D0>, <f.Packet object at 0x07ACA410>, <f.Packet object at 0x07ABBF50>, <f.Packet object at 0x07ACA830>]
[,,]

每个对象都具有名称、年龄和来源等属性。我怎样才能得到年龄最小的物体

如果您已经订购了d,请尝试一次

import operator
#...
person=sorted(d.values(), key=operator.attrgetter('age'))[0]
print person.age

试试这一次,假设您已经订购了d

import operator
#...
person=sorted(d.values(), key=operator.attrgetter('age'))[0]
print person.age

根据需要,您可以使用简单的遍历:

min(orderedDict.values(), key=lambda x: x.age)
但是如果您需要一种O(1)方法来实现,那么您需要创建自己的类,因为OrderedDict仅根据插入顺序来订购项目。例如,您可以使用SortedDict from(或编写自己的),并执行类似操作(假设您仍然希望能够根据插入顺序获取项目):


根据需要,您可以使用简单的遍历:

min(orderedDict.values(), key=lambda x: x.age)
但是如果您需要一种O(1)方法来实现,那么您需要创建自己的类,因为OrderedDict仅根据插入顺序来订购项目。例如,您可以使用SortedDict from(或编写自己的),并执行类似操作(假设您仍然希望能够根据插入顺序获取项目):


这是订单还是列表?代码显示列表。@vinay:类型是这是orderedDict还是列表?代码显示列表。@vinay:类型为