如何在python中获得具有最低值的Ordereddictionary元素,该元素也大于certian阈值?

时间:2014-11-12 16:28:16

标签: python dictionary

现在我这样做是为了获得有序字典中最低值的键

hunting_targets = OrderedDict()
for element in data["hunting_targets"]:
    hunting_targets[data["hunting_targets"][element]["user_id"]]=data["hunting_targets"]element]["gold"]
hunting_targets=OrderedDict(sorted(hunting_targets.items(), key=lambda t: t[1],reverse= False))

hunting_target = next(iter(hunting_targets))

我现在重复最后一步,直到值大于阈值。

但是可能有一种更有效的方式不存在?
什么是更有效的方法呢?

编辑:键是和int类型的id。和值也是一个int

1 个答案:

答案 0 :(得分:1)

在不知道数据的确切排列的情况下(即datahunting_targets等的键和值是什么),很难确定。但是,通过某种方式使用heapq,您可能会看到性能提升。 heapq算法旨在使集合中的最小元素随时可用。