0

配列Aは次のようになります:[1、-inf、2、3、inf、-60.2]

配列Bは次のようになります:[1、2、3、-60.2]

Python 2.7に無限大が含まれていない配列Aから配列Bを作成するにはどうすればよいですか?

4

5 に答える 5

6
B = [x for x in A if not math.isinf(x)]
于 2011-07-27T09:13:06.937 に答える
2
B = filter(lambda x: abs(x) != float('inf'), A)
于 2011-07-27T09:10:15.650 に答える
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]

于 2011-07-27T09:11:45.580 に答える
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)

1行のソリューションではありませんが、明確でシンプルです。

于 2011-07-27T09:08:58.223 に答える
0

あなたはinfを定義することができます

inf = 1e400
于 2011-07-27T19:29:35.220 に答える