【问题标题】:Why does np.arange(10,1, 1) produce an empty array?为什么 np.arange(10,1, 1) 会产生一个空数组?
【发布时间】:2016-03-18 15:30:37
【问题描述】:

为什么np.arange(10,1, 1) 会产生一个空数组,而另一方面np.arange(10,1, -1) 会产生预期的结果(从 10 开始的数组)?

【问题讨论】:

  • 如果你从 10 开始,每次递增 1,多久到 1?看,这没有意义。
  • 同样的原因 range(10, 1, 1)xrange(10, 1, 1) 产生空输出。

标签: python numpy


【解决方案1】:

您希望np.arange(10,1,1) 产生什么?您从 10 开始,逐步增加 1,并在结果为 1(或更多)时停止。 Python中使用相同的推理range

值在半开区间[start, stop)内生成 (即包含start但不包括stop的区间)。 对于整数参数,该函数等效于 Python 内置 range <http://docs.python.org/lib/built-in-funcs.html>_ 函数, 但返回一个 ndarray 而不是一个列表。

对于range

如果step为正,则最后一个元素是最大的start + i * step小于stop;

>>> range(1, 0)
[]

比较x[::2]x[::-2] 的一些数组或列表,看看注意step 的符号的用处。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2017-09-27
    • 2020-07-17
    • 2016-11-12
    • 1970-01-01
    • 2022-10-14
    相关资源
    最近更新 更多