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:类型为