相关疑难解决方法(0)

从整数列表中获取最接近给定值的数字

给定一个整数列表,我想找到哪个数字最接近我输入的数字:

>>> myList = [4, 1, 88, 44, 3]
>>> myNumber = 5
>>> takeClosest(myList, myNumber)
...
4
Run Code Online (Sandbox Code Playgroud)

有没有快速的方法来做到这一点?

python sorting integer list

142
推荐指数
5
解决办法
15万
查看次数

查找最近的值并返回Python中的数组索引

我发现这篇文章:Python:在数组中查找元素

它是关于通过匹配值返回数组的索引.

另一方面,我所想做的是相似但不同的.我想找到目标值的最近值.例如我正在寻找4.2,但我知道在数组中没有4.2,但我想返回值4.1而不是4.4的索引.

这样做的最快方法是什么?

我正在考虑用旧的方式来做它,就像我以前用Matlab做的那样,它使用数组A,我想从索引到减去目标值并取绝对值,然后选择min.像这样: -

[~,idx] = min(abs(A - target))
Run Code Online (Sandbox Code Playgroud)

这是Matlab代码,但我是Python的新手,所以我在想,有没有一种快速的方法在Python中做到这一点?

非常感谢你的帮助!

python numpy python-3.x

34
推荐指数
4
解决办法
4万
查看次数

从两个向量的差异中填充numpy矩阵

是否可以numpy从函数构造矩阵?在这种情况下,具体的功能是两个向量的绝对差异:S[i,j] = abs(A[i] - B[j]).一个使用常规python的最小工作示例:

import numpy as np

A = np.array([1,3,6])
B = np.array([2,4,6])
S = np.zeros((3,3))

for i,x in enumerate(A):
    for j,y in enumerate(B):
        S[i,j] = abs(x-y)
Run Code Online (Sandbox Code Playgroud)

赠送:

[[ 1.  3.  5.]
 [ 1.  1.  3.]
 [ 4.  2.  0.]]
Run Code Online (Sandbox Code Playgroud)

有一个看起来像这样的结构会很好:

def build_matrix(shape, input_function, *args)
Run Code Online (Sandbox Code Playgroud)

我可以用它的参数传递一个输入函数,并保持numpy的速度优势.

python numpy

11
推荐指数
2
解决办法
5286
查看次数

标签 统计

python ×3

numpy ×2

integer ×1

list ×1

python-3.x ×1

sorting ×1