如何在python中比较for循环中的结果

如何在python中比较for循环中的结果,python,for-loop,Python,For Loop,我创建了一个类,它有一些初始变量,比如系数和误差。在我的方法中,我有一个for循环来计算一些东西,在每次运行中,我将得到一个名为error的数字。在每次运行中,我得到一个错误,还有一个系数。我想做的是,在第一次运行时,我可以得到一个误差和一个系数集。在第二次运行时,我会将错误与前一个错误进行比较,如果它小于前一个错误,则将错误更新为较小的错误,并更新系数。否则,保留先前的误差和系数 class getMinError(): def __init__(self): self.error =

我创建了一个类,它有一些初始变量,比如系数和误差。在我的方法中,我有一个for循环来计算一些东西,在每次运行中,我将得到一个名为error的数字。在每次运行中,我得到一个错误,还有一个系数。我想做的是,在第一次运行时,我可以得到一个误差和一个系数集。在第二次运行时,我会将错误与前一个错误进行比较,如果它小于前一个错误,则将错误更新为较小的错误,并更新系数。否则,保留先前的误差和系数

class getMinError():
def __init__(self):
    self.error = 0
    self.ce1 = 0
    self.ce2 = 0 

def process(self):
     for i in range(any number):
        run to get error, ce1,and ce2
        save the first run's result to self.error, self.ce1,and self.ce2 
或者只保存它而不更新初始变量

在下一个循环中进行比较,然后
仅当错误小于以前的错误时才更新。

我想您可以试试这个

class getMinError():
def __init__(self):
    self.error = 0
    self.ce1 = 0
    self.ce2 = 0 
 run to get error, ce1,and ce2

def process(self):
     for i in range(2:n):
        run to get error, ce1,and ce2
        if error<self.error :
           self.error=error
           self.ce1=ce1
           self.ce2=ce2
类getMinError():
定义初始化(自):
self.error=0
self.ce1=0
self.ce2=0
运行以获取错误、ce1和ce2
def过程(自我):
对于范围内的i(2:n):
运行以获取错误、ce1和ce2

如果错误,则应存储第一次运行的结果,以将其与下一次运行的结果进行比较。 然后在每次迭代中,将当前运行的错误与存储在smallestError中的数字(找到的最小错误)进行比较。如果您发现一个比smallestError更大的错误,则更新系数和错误,并将smallestError更改为最近发现的错误。 希望这有帮助:)


您可以使用临时值来保存当前运行的错误和系数,并与以前的值进行比较。使用temp变量保存错误和系数,或者使用列表中的tuple(错误,系数),并使用它tuple[0],tuple[1]与列表中先前添加的tuple进行比较。您能介绍一下使用临时变量的更多信息吗?我试过了,但是在循环中,如果我创建一个新的var,它可以保存第一次运行的错误值,但是在第二次运行中,它将通过执行更新。比如first_error=error,我想在下一个循环中使用first_error,比如compare if first_errorclass getMinError(): def __init__(self): self.error = 0 self.ce1 = 0 self.ce2 = 0 //store the error of first run run to get error, ce1,and ce2 smallestError = error def process(self): for i in range(2:n): run to get error, ce1,and ce2 if smallestError > error : self.error=error self.ce1=ce1 self.ce2=ce2 smallestError = error