2011-07-27 23 views

回答

2
B = filter(lambda x: abs(x) != float('inf'), A) 
+0

+1列表理解可能更快,但這就是主意。將float('inf')'存儲在一個變量中可能也很有用。 –

+0

謝謝!另外,如何使一個數組C的索引爲非無限數A:[0,2,3,5]? – user569474

+0

你的第二個問題,如[我爲我,埃爾在列舉(一)如果abs(el)!=浮點數('inf')] – RoundTower

1

最簡單的一個:

arrayA = [1, float('-inf'), 2, 3, float('inf'), -60.2] 
arrayB = [] 
for item in arrayA: 
    if item != float('inf') and item != float('-inf'): 
     arrayB.append(item) 

不是一個在線解決方案,而且簡單明瞭。

2

你的意思是:

>>> inf = float('inf'); 
>>> import math 
>>> print filter(lambda x: not math.isinf(x), [1, -inf, 2, 3, inf, -60.2]) 
[1, 2, 3, -60.200000000000003] 

6
B = [x for x in A if not math.isinf(x)] 
0

您可以通過

inf = 1e400 
相關問題