首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找k个值最接近某一值的字典条目

查找k个值最接近某一值的字典条目
EN

Stack Overflow用户
提问于 2018-10-15 03:24:57
回答 3查看 222关注 0票数 1

假设我们想要找到两个值最接近10的项目:

代码语言:javascript
复制
A = {'abc': 12.3, 'def': 17.3, 'dsfsf': 18, 'ppp': 3.2, "jlkljkjlk": 9.23}

它与以下各项配合使用:

代码语言:javascript
复制
def nearest(D, centre, k=10):
    return sorted([[d, D[d], abs(D[d] - centre)] for d in D], key=lambda e: e[2])[:k]

print(nearest(A, centre=10, k=2))

['jlkljkjlk',9.23,0.7699999999999996,'abc',12.3,2.3000000000000007]

但是,当字典的大小更大(数十万个条目)时,有没有Python内置的方法和/或更优化的版本来实现这一点?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52806294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档