在一行中从 np.linspace 中排除零

Exclude zero from np.linspace in one line

如何从 linspace 中删除零?

这是我的清单:

np.linspace(-3, 3, 1)
--> [-3, -2, -1, 0, 1, 2, 3] 

我想实现这个:

[x if x != 0 for x in np.linspace(-3, 3, 1)]
--> [-3, -2, -1, 1, 2, 3]

首先,要获得预期结果,您需要 np.linspace(-3, 3, 7) 获得 7 个数字。其次,您的 if 语句必须位于列表理解的交互之后。工作代码为:

import numpy as np

print([int(x) for x in np.linspace(-3, 3, 7) if x != 0])

无需编写循环代码即可实现的其他一些方法。

import numpy as np

lin_s = list(map(int, np.linspace(-3, 3, 7)))
lin_s.remove(0)