是否有一种numpy-thonic方式,例如函数,来查找数组中最接近的值?
例:
np.find_nearest( array, value )
Run Code Online (Sandbox Code Playgroud) 给定一个整数列表,我想找到哪个数字最接近我输入的数字:
>>> myList = [4, 1, 88, 44, 3]
>>> myNumber = 5
>>> takeClosest(myList, myNumber)
...
4
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法来做到这一点?
可能重复:
找到最接近列表中未完全排序的值的项目的索引
我在Python([237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243])中有一个正数和负数的列表.我想找到最接近0的数字.我该怎么做?
对于排序列表,如何找到接近给定数字的最小数字?
例如,
mysortedList = [37, 72, 235, 645, 715, 767, 847, 905, 908, 960]
Run Code Online (Sandbox Code Playgroud)
我怎样才能找到这是小于或等于700的最大元素迅速?(如果我有1000万个元素,那么线性搜索会很慢).在这个例子中,答案是645.
我正在制作一些代码,允许我从列表中选择最接近的数字,我已设法做到这一点.但是当找到最接近的数字并且它超过'myNumber'时,我希望python在它之前打印出列表中的数字.
例如;
如果我有一个清单;
TwoN = [1,2,4,8,16,32,64,128,256,512, 1024, 2048, 4096, 8192]
Run Code Online (Sandbox Code Playgroud)
和
myNumber = 30
Run Code Online (Sandbox Code Playgroud)
我希望python打印16而不是32
这是我到目前为止所做的代码......
TwoN = []
for i in range(12):
TwoN.append(2**i)
print(TwoN)
myNumber = 30
closest = TwoN[0]
for i in range(1, len(TwoN)):
if abs(TwoN[i] - myNumber) < abs(closest - myNumber):
closest = TwoN[i];
Sum = myNumber - closest
if Sum < 0:
closest = TwoN[(i-1)]
print(closest)
else:
print(closest)
Run Code Online (Sandbox Code Playgroud)
当myNumber = 30时,程序将输出1024,当我希望它输出16 ..
任何帮助表示赞赏谢谢
我有一个元组列表:
lst = [('54', '1.74', '253.2'), ('342', '2.85', '13.46'), ('53','2.43', '15.63')]
Run Code Online (Sandbox Code Playgroud)
我想在[1]最接近2.0的位置找到带有项目的元组
我是这样的:
number = lst[0][1]
for i in lst:
if abs(float(i[1]) - 2) < float(number):
number = i[1]
if number in i:
print i
Run Code Online (Sandbox Code Playgroud)
但是当我试图将字符串转换为float时会引发异常; /我怎么能真正做到这一点?
我试图在 python 的排序列表中获取最接近的值及其索引。
在 MATLAB 中,可以通过以下方式实现:
[closest_val,index] = min(abs(array - target))
Run Code Online (Sandbox Code Playgroud)
我想知道是否有类似的方法可以在 python 中实现。
我见过同时执行其中一项或另一项的帖子,但我还没有看到两者同时完成。
链接到在列表帖子中查找最接近的值。