【发布时间】:2018-10-19 23:45:50
【问题描述】:
我的问题是,如何在不使用多个 for 循环的情况下做到这一点?
#Example:
#samples : [0.1, -0.3]
#return : [0.5, -0.5]
import numpy as np
vq = np.array([-1.5,-0.5,0.5,1.5])
vd = np.array([-1,0,1,2])
samples = [0.1,-0.3]
k = []
g = []
for t in range(len(vq)):
if(i[t] == True):
g.insert(t,vq[t])
k.append(g[0])
b = []
for n in range(len(samples)):
i = samples[n] < vd
b.append(i)
def v(e,m):
if(m == len(b)):
return k
if(b[m][e] == True):
k.append(vq[e])
return v(e,m+1)
else:
m = m - 1
return v(e+1,m)
我该如何使用它?我正在尝试使用一个功能。 ..................................................... .
【问题讨论】:
-
我有正确的输出,我要求一个更好的选择:使其具有响应性(或最大使用 for 循环)。
-
如何使用例如 lambda 函数?
-
@Adath 最好将您的问题集中在您最初提出的问题上。我不确定你是否需要一个 lambda。 “最接近的 vq 值”是什么意思?
-
例如sample数组的第一个元素是0.1,在vq数组中最接近的值是0.5,所以应该出现0.5。
-
我只想使用一个for循环来循环遍历样本数组
标签: python arrays loops numpy for-loop