首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中查找相似项的最佳方法

在python中查找相似项的最佳方法
EN

Stack Overflow用户
提问于 2010-04-02 11:46:21
回答 3查看 366关注 0票数 3

我有一百万个数字:N[],还有一个单一的数字n,现在我想在这一百万个数字中找出与那个数字相似的数字,比如说n-10的面积,n+10。在python中,最好的方法是什么?我是否必须对1M数字进行排序并进行迭代?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-02 11:50:12

[x for x in N if n - 10 <= x <= n + 10]

票数 3
EN

Stack Overflow用户

发布于 2010-04-02 11:51:09

代码语言:javascript
复制
results=[x for x in numbers if x >= n-10 and x <= n+10]
票数 1
EN

Stack Overflow用户

发布于 2010-04-02 11:56:31

另一种解决方案:

代码语言:javascript
复制
is_close_to_n = lambda x: n-10 <= x <= n+10
result = filter(is_close_to_n, N)

概括一下:

代码语言:javascript
复制
def is_close_to(n):
    f = lambda x: n-10 <= x <= n+10
    return f

result12 = filter(is_close_to(12), N)
result123 = filter(is_close_to(123), N)

不要排序。排序一般是O( n);暴力搜索是O(n )。

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

https://stackoverflow.com/questions/2564896

复制
相关文章

相似问题

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