我需要以最佳方式在列表中进行搜索。基本上,如果列表中的任何元素介于Vmin和Vmax之间,并且是一个数字(有时该过程生成的结果不是数字:/),我需要评估损失(我有一个函数来完成此操作)。否则,我会给它一个巨大的损失,比如10*10。你能帮我优化这个搜索吗?我将结构更改为list(),因为它最初是一个元组,我不知道如何操作此结构:/
def losses():
Tensoes = list(objeto.get_AllNodeVpu())
Lim = 0
for i in Tensoes:
if (i <= Vmin) or (i >= Vmax):
Lim += 1
if (np.isnan(i) == True):
Lim += 1
if (Lim == 0)
loss = objeto.get_circuit_total_losses()
else:
loss = 10**10
return loss
这是Python吗?你应该给它贴上标签
你不是在这里搜索;您正在处理列表中的每个元素,以检查其是否超出范围
你的名单排序了吗?然后,您只能检查它的第一个和最后一个元素。但是如果您必须对它进行排序,那么它将比您当前的实现更加昂贵
另外,您以
It's me again
开始,但您的状态显示这是您的第一篇帖子:)附加: 在找到第一个“无效”元素后,不需要循环。我不懂Python,但应该是:
相关问题 更多 >
编程相关推荐