如何在距x的距离处找到与给定数字最接近的n个数字?

用户名

例如,我有一个数字列表,例如

lst = [1, 2, 3, 3, 4, 4, 5, 6, 7, 8, 9]

我需要2个数字,离给定数字3个距离,例如5个,因此输出列表应如下所示

output_lst = [2, 8]

这里的距离是指数字线上的距离,而不是列表索引中的距离。所以3个数字,2与5的距离将得出

output_lst = [3,3,7]

我很累的是像这样使用来自heapq的nsmallest

check_number = 5

output_lst = nsmallest(3, lst, key=lambda x: abs(x - check_number))

但是这里的问题是我不知道指定距离。它只会输出3个最接近5的数字。

[4,4,5]
巴尔加夫饶

您可以为此使用列表理解有关列表理解的更多信息请参见这篇文章

>>> lst = [1, 2, 3, 3, 4, 4, 5, 6, 7, 8, 9]
>>> given_numer = 5
>>> distance = 3
>>> [i for i in lst if abs(i-given_numer)==distance]
[2, 8]

逻辑很简单,我们仅查看每个数字与给定数字之间的差的绝对值,如果是,则返回该值。相似地

>>> distance = 2
>>> [i for i in lst if abs(i-given_numer)==distance]
[3, 3, 7]

让我们复杂一点并尝试使用filter和闭包。代码是:

只是为了证明这是另一种选择

def checkdistance(given_number,distance):
    def innerfunc(value):
        return abs(value-given_number)==distance
    return innerfunc


lst = [1, 2, 3, 3, 4, 4, 5, 6, 7, 8, 9]
given_number = 5
distance = 3
checkdistance3from5 = checkdistance(5,3)
list(filter(checkdistance3from5,lst))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在距x的距离处找到与给定数字最接近的n个数字?

来自分类Dev

如何在数组中找到最接近给定数字的值?

来自分类Dev

查找与给定数字最接近的k个数字

来自分类Dev

排序最接近给定数字的数字

来自分类Dev

如何使用C中的for循环找到给定数字的最接近素数?

来自分类Dev

从n个数字的总和中找到最接近的n

来自分类Dev

如何在数组中查找最接近给定数字的值

来自分类Dev

如何找到最接近某个数字的数组元素?

来自分类Dev

查找与给定数字最接近的数字总和

来自分类Dev

如何在各列中找到最接近的数字?

来自分类Dev

如何在 Python 中找到最接近数字的值?

来自分类Dev

在列表中找到与给定数字最接近的较小和较大值的最佳方法是什么

来自分类Dev

如何找出总和最接近给定数字的给定向量的最佳组合

来自分类Dev

如何找到与另一个数字最接近的数字,即2的幂?

来自分类Dev

如何找到自定义函数的最接近的两个数字

来自分类Dev

如何在Excel中找到给定数字的最大序列?

来自分类Dev

舍入到给定数字数组中最接近的数字

来自分类Dev

如何找到一个小于且最接近数组X的数字?

来自分类Dev

如何找到一个小于且最接近数组X的数字?

来自分类Dev

如何找到给定数字的范围?

来自分类常见问题

如何在熊猫列/系列中找到最接近输入数字的值?

来自分类Dev

如何在熊猫列/系列中找到最接近输入数字的值?

来自分类Dev

如何在数组中找到与整数和数字之间的两个最接近的差

来自分类Dev

如何在java中找到最接近零的五个输入数字

来自分类Dev

如何使用熊猫将给定数字四舍五入到最接近的指定倍数?

来自分类Dev

从向量中找到最接近的数字索引

来自分类Dev

获取列表中某个给定数字的 3 个最接近的值?

来自分类Dev

查找最接近特定数字的数字总和

来自分类Dev

c# 在具有两列到两个数字参数的列表中找到最接近的两个数字

Related 相关文章

  1. 1

    如何在距x的距离处找到与给定数字最接近的n个数字?

  2. 2

    如何在数组中找到最接近给定数字的值?

  3. 3

    查找与给定数字最接近的k个数字

  4. 4

    排序最接近给定数字的数字

  5. 5

    如何使用C中的for循环找到给定数字的最接近素数?

  6. 6

    从n个数字的总和中找到最接近的n

  7. 7

    如何在数组中查找最接近给定数字的值

  8. 8

    如何找到最接近某个数字的数组元素?

  9. 9

    查找与给定数字最接近的数字总和

  10. 10

    如何在各列中找到最接近的数字?

  11. 11

    如何在 Python 中找到最接近数字的值?

  12. 12

    在列表中找到与给定数字最接近的较小和较大值的最佳方法是什么

  13. 13

    如何找出总和最接近给定数字的给定向量的最佳组合

  14. 14

    如何找到与另一个数字最接近的数字,即2的幂?

  15. 15

    如何找到自定义函数的最接近的两个数字

  16. 16

    如何在Excel中找到给定数字的最大序列?

  17. 17

    舍入到给定数字数组中最接近的数字

  18. 18

    如何找到一个小于且最接近数组X的数字?

  19. 19

    如何找到一个小于且最接近数组X的数字?

  20. 20

    如何找到给定数字的范围?

  21. 21

    如何在熊猫列/系列中找到最接近输入数字的值?

  22. 22

    如何在熊猫列/系列中找到最接近输入数字的值?

  23. 23

    如何在数组中找到与整数和数字之间的两个最接近的差

  24. 24

    如何在java中找到最接近零的五个输入数字

  25. 25

    如何使用熊猫将给定数字四舍五入到最接近的指定倍数?

  26. 26

    从向量中找到最接近的数字索引

  27. 27

    获取列表中某个给定数字的 3 个最接近的值?

  28. 28

    查找最接近特定数字的数字总和

  29. 29

    c# 在具有两列到两个数字参数的列表中找到最接近的两个数字

热门标签

归档