我正在使用numpy
。我遇到了这行代码。
a = (1.,80.,5.)
这是什么意思?在其他一行,我找到了
aList = np.arange(a[0], a[1]+a[2], a[2])
注意: np
是从numpy
分配的命名空间。
答案 0 :(得分:2)
对于第一个代码段,您要创建一个包含3个数字1,8和5的元组。
a=(1.,80.,5.)
1.0, 80.0, 5.0)
在第二个代码段中,您正在安排一个列表,其间均值为1到81(因为您要添加1和2),其间距为5.
np.arange(a[0], a[1]+a[2], a[2])
array([ 1., 6., 11., 16., 21., 26., 31., 36., 41., 46., 51.,
56., 61., 66., 71., 76., 81.])
numpy.arange ([start,] stop,[step,] dtype = None)
在给定的时间间隔内返回均匀间隔的值。
在半开区间[开始,停止]内生成值(换句话说,包括开始但不包括停止的区间)。对于整数参数,该函数等效于Python内置范围函数,但返回的是ndarray而不是列表。
编辑正如a.smiet指出的那样,代码会创建一个元组而不是列表。正如here
指出的那样,两者之间存在差异答案 1 :(得分:1)
a
是浮动的元组。元组是一种类似于列表的结构,但是不可变(即,一旦创建了它就不能修改它的任何组件)。但是,就像列表一样,它可以被编入索引。
理论上,一些元组有特殊的名称,例如2的元组称为一对,3的元组称为三元组等(人们不一定称之为,但是它有助于理解它们什么是元组)。 因为它是不可变的,从概念上讲它被认为是一个独特的对象,而不是一个集合;因此,它也可以有效地用作字典的键(而不是不能列出的列表)。
要创建元组,可以在括号内创建逗号分隔的对象序列,即()
(而不是括号,即[]
,您将创建列表)。
至于花车,浮动3.0
也可以简写为3.
。
numpy.arange
函数然后通过使用元组的组件作为参数调用它来创建范围。在您的特定情况下,它将创建一系列从1到80 + 5的数字,增量为5。
元组的一个非常酷的用法是它们可以扩展为函数的一系列参数。例如如果您有一个元组a = (1.,10.,2.)
,并且想要拨打numpy.arange(a[0], a[1], a[2])
,则可以改为numpy.arange(*a)
。
答案 2 :(得分:0)
第一行只是一个元组。
第二行使用np.arange
方法,该方法返回给定间隔内的间隔值:
np.arange(start, stop, step)
您拥有的参数是使用元组a
。
a[0] = 1
和a[1] = 80
等等......
答案 3 :(得分:0)
a = (1.,80.,5.)
创建一个包含3个浮点数(1.0,80.0和5.0)的元组。
aList = np.arange(a[0], a[1]+a[2], a[2])
创建此列表:
[ 1. 6. 11. 16. 21. 26. 31. 36. 41. 46. 51. 56. 61. 66. 71. 76. 81.]
其中,根据http://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html表示1.0是一个开始,85.0(80 + 5)是结束,5.0是创建间隔值的步骤(函数的参数)。
答案 4 :(得分:0)
对于第一个,它是3个项目的元组:
>>> a = (1.,80.,5.)
>>> a
(1.0, 80.0, 5.0)
对于第二个,它会生成一个列表(开始:1.0,结束:80.0 + 5.0,步骤:5.0):
>>> a_list = numpy.arange(a[0], a[1]+a[2], a[2])
>>> a_list
array([ 1., 6., 11., 16., 21., 26., 31., 36., 41., 46., 51.,
56., 61., 66., 71., 76., 81.])