数组 A 如下所示: [1, -inf, 2, 3, inf, -60.2]
数组 B 应如下所示:[1, 2, 3, -60.2]
如何在 Python 2.7 中不包含无穷大的情况下从数组 A 生成数组 B?
B = [x for x in A if not math.isinf(x)]
B = filter(lambda x: abs(x) != float('inf'), A)
你的意思:
>>> 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]
?
最简单的一个:
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)
不是单线解决方案,而是清晰简单。
你可以定义 inf
inf = 1e400