假设我们想要找到两个值最接近10的项目:
A = {'abc': 12.3, 'def': 17.3, 'dsfsf': 18, 'ppp': 3.2, "jlkljkjlk": 9.23}
它与以下各项配合使用:
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内置的方法和/或更优化的版本来实现这一点?
https://stackoverflow.com/questions/52806294
复制相似问题