Python:选择一个较大的数字作为初始最大值
我来自Java背景,要在列表中查找最大值,可以执行以下操作:Python:选择一个较大的数字作为初始最大值,python,python-3.x,Python,Python 3.x,我来自Java背景,要在列表中查找最大值,可以执行以下操作: int max = Integer.MIN_VALUE; for (int value : list) max = Math.max(max, value); 忽略有更好的方法来解决这个特定问题,在Python中执行Integer.MIN_VALUE的等效方法是什么?或者,从来没有理由需要一个任意的非常小的数字吗?在python中,您可以这样做 from math import inf 'initialize maximum
int max = Integer.MIN_VALUE;
for (int value : list)
max = Math.max(max, value);
忽略有更好的方法来解决这个特定问题,在Python中执行
Integer.MIN_VALUE
的等效方法是什么?或者,从来没有理由需要一个任意的非常小的数字吗?在python中,您可以这样做
from math import inf
'initialize maximum with very small value'
maximum=float('-inf')
'traverse the array'
for v in array:
maximum=max(maximum,v)
print(maximum)
或者可以直接在给定数组上使用max()
函数
print(max(array))
Python将int实现为无界的bigint。因此,没有等效于最小整数和最大整数。
float('-inf')
这是否回答了您的问题<代码>最大值=最大值(列表)?撇开不应该使用list
作为变量名这一事实不谈,它确实会使一些算法更简洁,但由于Python3,整数只受可用内存的限制。。。长话短说,或者在您的用例中,您知道列表的所有值都是有界的(例如,它们是度量的结果,或者是从数据库中提取的),您可以使用该界,或者您必须初始化为无,如副本的可接受答案所示,或者使用Math.inf
。默认设置为MIN\u值看起来很尴尬。如果列表是空的怎么办?在python中,惯用的解决方案是result=max(lst)
,如果lst
为空,则会引发异常。这比对MIN\u值
结果进行特殊的案例处理(假设该值在lst
中无效)更具python风格。