Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在np.r之外使用start:stop:stepj__Python_Numpy - Fatal编程技术网

Python 在np.r之外使用start:stop:stepj_

Python 在np.r之外使用start:stop:stepj_,python,numpy,Python,Numpy,我在它的参考指南中看到了,而不是使用np连接数组。linspace我们可以使用start:stop:stepj 换句话说,start:stop:stepj被解释为np.linspace(start, 停止,步骤,端点=1) 这是否可以在np.r\ucode>方法之外使用?是的,它被称为切片 列表(范围(10))[2:10:2]将产生[2,4,6,8] 参考开始:停止:步骤语法仅适用于索引上下文(方括号) 对于我们使用的函数 slice(start, stop, step) range(start

我在它的参考指南中看到了,而不是使用
np连接数组。linspace
我们可以使用
start:stop:stepj

换句话说,start:stop:stepj被解释为np.linspace(start, 停止,步骤,端点=1)


这是否可以在
np.r\ucode>方法之外使用?

是的,它被称为切片

列表(范围(10))[2:10:2]
将产生
[2,4,6,8]


参考

开始:停止:步骤
语法仅适用于索引上下文(方括号)

对于我们使用的函数

slice(start, stop, step)
range(start, stop, step)
np.arange(start, stop, step)
np.linspace(start, stop, count)  # not step
np.r
是一个模拟索引的自定义类的实例。该类有一个
\uuu getitem\uuu
方法,因此使用索引语法将“参数”传递给
np.r\uu

代码在
numpy/lib/index\u tricks.py
中实现。文件名很重要-这些是一些有趣而巧妙的技巧,但不是使用
numpy
所必需的

In [64]: np.r_[0:10:2, 0:10:5j]
Out[64]: array([ 0. ,  2. ,  4. ,  6. ,  8. ,  0. ,  2.5,  5. ,  7.5, 10. ])
这相当于:

In [65]: np.arange(0,10,2)
Out[65]: array([0, 2, 4, 6, 8])
In [66]: np.linspace(0,10,5)
Out[66]: array([ 0. ,  2.5,  5. ,  7.5, 10. ])
In [67]: np.concatenate((_65,_66))
Out[67]: array([ 0. ,  2. ,  4. ,  6. ,  8. ,  0. ,  2.5,  5. ,  7.5, 10. ])
解释器实际上将
[]
表达式转换为此方法调用:

In [70]: np.r_.__getitem__((slice(0,10,2), slice(0,10,5j)))
Out[70]: array([ 0. ,  2. ,  4. ,  6. ,  8. ,  0. ,  2.5,  5. ,  7.5, 10. ])
r
查看该元组参数的元素。第一个片段用于运行
arange
调用,第二个片段(由于复杂的
5j
值)用于调用
linspace
np.r
也可以接受初始字符串参数

虽然
np.r
有一些巧妙的技巧,但它并没有给python语法添加任何东西。它在编译代码中也不做任何事情。它可能会给高级程序员提供有用的想法,但对初学者来说,没有什么是必要的