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)

不是单线解决方案,而是清晰简单。

于 2011-07-27T09:08:58.223 回答
0

你可以定义 inf

inf = 1e400
于 2011-07-27T19:29:35.220 回答