In [107]: y=x.astype(int).tolist()
In [108]: y.remove(0)
In [109]: y
Out[109]: [-5, -3, -2, -1, 0, 1, 2, 3, 5]
In [110]: y.remove(0)
In [111]: y
Out[111]: [-5, -3, -2, -1, 1, 2, 3, 5]
型 我们必须调用remove两次才能删除两者。 重复,但用奇数:
In [112]: x=np.linspace(-5,5,11);x
Out[112]: array([-5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.])
In [113]: x.astype(int)
Out[113]: array([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
In [114]: y=x.astype(int).tolist()
In [115]: y.remove(0)
In [116]: y
Out[116]: [-5, -4, -3, -2, -1, 1, 2, 3, 4, 5]
4条答案
按热度按时间brvekthn1#
IIUC,您可以尝试:
字符串
打印:
型
在Python中:
型
9nvpjoqh2#
如果你想得到一个没有零的numpy数组,你可以这样做:
字符串
L != 0
创建一个布尔数组作为掩码,L[L != 0]
保留掩码为True
的值。但是
numpy.linspace(-20, 20)
的输出中没有0。ymzxtsji3#
np.linspace(-20,20)
不会有零。字符串
如果你想要从-20到20之间的值而不需要0,你可以简单地使用列表解析:
型
np.linspace(-20,20)
返回指定间隔内的等间距数字。这些值将为50个值。要生成的样本数。默认值为50。必须为非负数。
https://numpy.org/doc/stable/reference/generated/numpy.linspace.html
v440hwme4#
我将举例说明我的评论,以便给予一个更清楚的概念,了解您的
remove
发生了什么做一个更小的linspace,只有10个元素(仍然是偶数,只是不是默认的50):
字符串
由于它包括端点,偶数个元素可以给予分数间距。
将其转换为int(与list/map/int相同)
型
注意0。
型
我们必须调用
remove
两次才能删除两者。重复,但用奇数:
型
现在只有一个0了,删除就可以了。
无论这些数字是否是您真正需要的,这都解释了为什么
remove
没有删除(所有)零。