此问题已在此处有答案:
Generate equally-spaced values including the right end using NumPy.arange(3个答案)
3天前关闭。
我在学习Python。我想在python中创建一个numpy数组,从0开始到1,增量为0.1。这就是代码:
import numpy as np
t=np.arange(0, 1, 0.1)
print(t)
结果是
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
但是“1”不包含在数组中,如何将1包含在数组中?我们是手动将1添加到数组中,还是其他方法?
2条答案
按热度按时间eni9jsuy1#
如np.arange文档中所述
arange(stop)
:在半开区间[0, stop)
(即包含 start 但不包含 stop 的区间)内生成值。arange(start, stop)
:在半开间隔[start, stop)
内生成值。arange(start, stop, step)
值在半开interval [start, stop)
内生成,值之间的间距由step
给出。因此,要包含1,只需将代码更改为
np.arange(0, 1.1, 0.1)
(任何大于1且小于或等于1.1的值都可以)pkbketx92#
Python有一个约定,当指定一个范围时,它将从开始值到结束值之前的范围进行迭代(例如
for x in range(0, 15)
将为x分配从0到14的每个值,而不是15)。在你的例子中,你可以通过设置中间参数(它与迭代器即将停止的结束值相关)刚好超过1来解决这个问题。1.1),或通过手动添加1.就像你说的那样。