python - 在Python中获取最接近1的字典键的最快方法

标签 python dictionary key sorting

嗨,我想问这是否是最快且占用最少资源的方法来获取字典中最接近 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 的值。您可以使用 min(),如 Gábor Erdős 的答案,但如果您想知道整个顺序,请使用它。

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

相关文章:

python - 检查具有 OneToOneField 的对象是新的还是已经存在

python - 射线 `num_cpus` 是否用于实际分配 CPU?

python - python中个人字典的命名实体识别

python - 根据某些条件分配 pandas DataFrame 单元格的内容而不使用循环

Python 迭代列表和字典

python timeit 没有在设置代码中初始化列表

Python not in dict 条件句性能

java - java 中的媒体/fn 键

java - 使用 Jackson 获取 JSON 值的最高父键

Python - 基于键/值标识的分组/合并字典