今天,在看書的時候看到這么一個例子:
這是用來求解 從某個數字列表中找出倆個彼此最接近但是不相等的數(倆者之間的絕對差是最小的):
>>> from random import randrange >>> seq = [randrange(10**10) for i in range(100)] >>> dd=float("inf") >>> for x in seq: ... for y in seq: ... if x==y:continue ... d=abs(x-y) ... if d<dd: ... xx,yy,zz=x,y,d ... >>> xx,yy (6455592839, 1698708708)
但我看到這個例子的時候,看到了一個沒有遇到過的語句:dd = float(“inf”)
然后開始查閱資料后,這個是表示“正負無窮”的意思,下面對於這個用法記錄一下:
1.正無窮:float("inf"); 負無窮:float("-inf")
2.利用inf做簡單的加法、乘法等算數運算仍然會的到inf:
>>> 45+float("inf") inf >>> 88*float("inf") inf
注意:利用inf乘以0會的到not-a-number(nan)
>>> 0*float("inf") nan
3.除了inf外的其他數除以inf,會得到0:
>>> 2017/float("inf") 0.0 >>> 176.5/float("inf") 0.0 >>> float("inf")/float("inf") --> 除了這個會得到nan外 nan
4.當然從數學意義上面可以得知,通常的運算是不會得到 inf值的
5.不等式:
當我們涉及到 < 和 > 時:
所有數都比 -inf 大;
所有數都比 +inf 小;