3 回答

TA貢獻1900條經(jīng)驗 獲得超5個贊
長整數(shù):
沒有明確定義的限制??捎玫刂房臻g量構成實際限制。
(取自本網(wǎng)站)。請參閱數(shù)字類型的文檔,您將看到它們Long integers have unlimited precision
。在Python 2中,當Integers超出限制時,它們會自動切換到long:
>>> import sys>>> type(sys.maxsize)<type 'int'>>>> type(sys.maxsize+1)<type 'long'>
對于整數(shù)我們有
maxint和maxsize:
int的最大值可以在Python 2.x中找到sys.maxint
。它已在Python 3中刪除,但sys.maxsize
通??梢允褂盟?。來自更改日志:
刪除了sys.maxint常量,因為不再對整數(shù)值進行限制。但是,sys.maxsize可以用作大于任何實際列表或字符串索引的整數(shù)。它符合實現(xiàn)的“自然”整數(shù)大小,并且通常與同一平臺上以前版本中的sys.maxint相同(假設具有相同的構建選項)。
并且,對于任何對差異感興趣的人(Python 2.x):
sys.maxint Python常規(guī)整數(shù)類型支持的最大正整數(shù)。這至少是2 ** 31-1。最大的負整數(shù)是-maxint-1 - 使用2的補碼二進制算法產(chǎn)生不對稱性。
sys.maxsize平臺的Py_ssize_t類型支持的最大正整數(shù),因此最大大小的列表,字符串,dicts和許多其他容器都可以。
為了完整起見,這是Python 3版本:
sys.maxsize 一個整數(shù),給出一個Py_ssize_t類型的變量的最大值。在32位平臺上通常為2 ^ 31 - 1,在64位平臺上為2 ^ 63 - 1。
花車:
有float("inf")
和float("-inf")
。這些可以與其他數(shù)字類型進行比較:
>>> import sys>>> float("inf") > sys.maxsizeTrue

TA貢獻1821條經(jīng)驗 獲得超5個贊
Python long
可以任意大。如果您需要一個比任何其他值更大的值,您可以使用float('inf')
,因為Python在比較不同類型的數(shù)值時沒有任何問題。同樣,對于小于任何其他值的值,您可以使用float('-inf')
。

TA貢獻1851條經(jīng)驗 獲得超3個贊
直接回答標題問題:
整數(shù)大小不受限制,在Python中沒有最大值。
回答哪些地址陳述了基本用例:
根據(jù)你對你要做的事情的評論,你現(xiàn)在正在思考一些事情
minval = MAXINT;for (i = 1; i < num_elems; i++) if a[i] < a[i-1] minval = a[i];
這不是如何用Python思考的。更好的Python翻譯(但仍然不是最好的)將是
minval = a[0] # Just use the first valuefor i in range(1, len(a)): minval = min(a[i], a[i - 1])
注意,上面根本不使用MAXINT。解決方案的這一部分適用于任何編程語言:您不需要知道最高可能值,只是為了找到集合中的最小值。
但無論如何,你在Python中真正做的只是
minval = min(a)
也就是說,你根本不寫循環(huán)。內(nèi)置min()
函數(shù)獲得整個集合的最小值。
添加回答
舉報