嗨,我想问一下这是否最快,占用最少资源的方法来获取字典中最接近1的值,或者有更好,更有效的方法来做到这一点。

import operator

dct = {"a": 0.1, "b": 0.2, "c": 0.7, "d": 1, "e": 0.5}

sorted_orders = sorted(dct.items(), key=operator.itemgetter(1))
sorted_orders = str(sorted_orders.pop()[:1])
a = len(sorted_orders) - 3
sorted_orders = sorted_orders[2:a]
print sorted_orders


所需的输出是此处最接近1的键的内容:
d

最佳答案

这就是我要做的:

closest = sorted(dct.values(), key=lambda x: abs(1-x))[0]


我用一个给出数字和1之间距离的键对项目进行排序。 (abs(1-x1))。因此,第一项是最接近1的值。您可以像在GáborErdős的答案中那样使用min(),但是如果您想知道整个顺序,请使用它。

关于python - 在Python中获取最接近1的字典键的最快方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35941465/

10-12 07:37