Python 3.x 如何比较两个值并保持最低值

Python 3.x 如何比较两个值并保持最低值,python-3.x,Python 3.x,我正试图找到一种方法,在python中,在一个变量内部保持一系列比较中的最小值 差不多 "if newvalue is lower than storagevalue then storagevalue now is newvalue" 等等 我想把它们都塞进一个列表,然后把它们保持在最低水平,但这必须在一个过程中完成,这个过程可能会占用大量的内存,所以我想找到一个不那么饥渴的解决方案,避免保留很多非常大的数字 我看到的问题是,首先我不知道如何管理storagevalue。我不能仅仅将其声明

我正试图找到一种方法,在python中,在一个变量内部保持一系列比较中的最小值

差不多

"if newvalue is lower than storagevalue then storagevalue now is newvalue" 
等等

我想把它们都塞进一个列表,然后把它们保持在最低水平,但这必须在一个过程中完成,这个过程可能会占用大量的内存,所以我想找到一个不那么饥渴的解决方案,避免保留很多非常大的数字

我看到的问题是,首先我不知道如何管理storagevalue。我不能仅仅将其声明为空变量,然后将其与新值进行比较;同时,我也不能将一个伪值指定为“x”,因为它不起作用

也许我只是想错了,我刚开始学习Python

谢谢

您需要将storagevalue初始化为某些内容。通常使用第一个新值

或者,如果您的值已经在列表中,您可以直接使用min

storagevalue = min(newvaluelist)
既然你似乎还不明白,那就试试这个:

first = True
while newvalue_available:
    if first:
        storagevalue = newvalue
        first = False
    else:
        storagevalue = min(newvalue, storagevalue)
    # read newvalue here
以int可以接受的最大值启动storagevalue

import sys
storagevalue = sys.maxsize
然后呢,

storagevalue = min(storagevalue, newvalue)

这些数字是从哪里来的,一个数据库,一个文本文件?执行此操作的典型方法是声明一个值并将其设置为整数的最大值,然后如果遇到较低的值,将变量设置为新值这些数字来自一个eurhistic算法谢谢大家:我最终分配了一个初始化的布尔变量first=True:每一轮它都会检查这个变量是否为True,如果为True,它会直接写入存储器并将其置为false状态,如果不是,在Python3中没有sys.maxint,但是可以改为使用storagevalue=sys.maxsize。请参阅sys.maxsize返回值2147483647。。。这实际上并没有那么大。不幸的是,我不能用这种方式初始化存储。storagevalue=minstoragevalue,982394290192回溯最近一次调用last:文件,第1行,在storagevalue=minstoragevalue,982394290192 NameError:名称“storagevalue”未定义“初始化时无法引用storagevalue”。只需给它赋值storagevalue=982394290192。这就是为什么我说用第一个值初始化。
storagevalue = min(storagevalue, newvalue)