Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 优化列表';s搜索_Python_Search_Optimization - Fatal编程技术网

Python 优化列表';s搜索

Python 优化列表';s搜索,python,search,optimization,Python,Search,Optimization,我需要以最佳方式在列表中进行搜索。基本上,如果列表中的任何元素介于Vmin和Vmax之间,并且是一个数字(有时该过程生成的结果不是数字:/),我需要评估损失(我有一个函数来完成此操作)。否则,我会给它一个巨大的损失,比如10*10。你能帮我优化这个搜索吗?我将结构更改为list(),因为它最初是一个元组,我不知道如何操作此结构:/ def losses(): Tensoes = list(objeto.get_AllNodeVpu()) Lim = 0 for i in

我需要以最佳方式在列表中进行搜索。基本上,如果列表中的任何元素介于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
def loss():
Tensoes=list(objeto.get_AllNodeVpu())
Lim=0
对于时态中的i:
如果(i=Vmax):
Lim+=1
如果(np.isnan(i)=真):
Lim+=1
如果(Lim==0)
损耗=目标。获取电路总损耗()
其他:
损失=10*10
回波损耗

这是Python吗?你应该给它贴上标签

你不是在这里搜索;您正在处理列表中的每个元素,以检查其是否超出范围

你的名单排序了吗?然后,您只能检查它的第一个和最后一个元素。但是如果您必须对它进行排序,那么它将比您当前的实现更加昂贵

另外,你从
开始,又是我
,但你的状态显示这是你的第一篇帖子:)

附加: 在找到第一个“无效”元素后,不需要循环。我不懂Python,但应该是:

def losses() :
    Tensoes = list(objeto.get_AllNodeVpu())
    for i in Tensoes :
        if np.isnan(i) == True or i <= Vmin or i >= Vmax :
            return 10 * *10

    return objeto.get_circuit_total_losses()
def loss():
Tensoes=list(objeto.get_AllNodeVpu())
对于时态中的i:
如果np.isnan(i)=真或i=Vmax:
返回10**10
返回对象。获取电路总损耗()

标记,谢谢提示,是的,第二篇文章。第一个是关于随机字符串。。。所以,不,列表没有排序,但我不需要排序。该列表包含一组节点电压,我需要验证所有节点是否都在限制范围内。在计算机编程教育的这一阶段,您不应该太担心优化。您需要学习使用大Oh符号分析算法,以了解可能的优化。您还需要了解如何使用探查器来测量代码段运行所需的时间。感谢您提供的提示。我会寻找的:DI一直在寻找可以帮助我的东西,我想我的问题更多的是关于“做这种搜索的Python方式”