浅谈Python中范围与Numpy中不等的比较

  

本文先比较范围与论坛的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明。

  

<强> 1。范围与论坛的比较

  

(1)相同点:一、参数的可选性,默认缺省值是一样的;B,结果均包括开始值,不包括结束值;C,不等的参数为整数是,与范围函数等价;D,都具备索引查找,要素截取等操作。

  

(2)不同点:一、范围函数的参数只能为整数,不等的参数为数值型,包括整数和浮点数;B,输出的数据类型不同,范围的输出为列表(列表),不等的结果为数组(ndarray); C、范围的最后一个元素,不会超过停止,而论坛页面的最后一个元素可能会比停止的值大。

  

<强> 2。python中的范围范围

  

(1)官方文档对范围的定义为:数字的范围类型代表一个不可变的序列,通常用于循环循环中特定次数。(范围代表不可变的数字序列,通常用于一定次数的循环中)。

  

若步长为正数,范围r的值由公式r[我]=开始+一步*我确定,限制条件为我在=0,r[我]& lt;停止;

  

若步长为负数,范围r的值同样由公式r[我]=开始+一步*我确定,但限制条件为我在=0,r[我]比;停止;

  

(2)参数说明

  

范围(启动、停止[,])

  

开始:序列的开始值,如果缺省默认为0;

  

站:序列的结束值;

  

步骤:序列的步长,缺省的默认值为1 .

  

范围中所有的参数必须为整数,必须为整数!

  

(3)范围的其他说明

  

,范围相比常规列表或元组的优势在于,不管范围代表的范围有多大,它实际上只存储范围的开始,结束和步长值,它占用相同且很小的内存空间;

  

B,范围继承于collections.abc.Sequence,提供诸如包含内容是否相等的比较,索引查找,要素截取,支持负数索引等。

        

<强> 3。Numpy中的论坛

  

(1)官方文档中的定义:返回均匀间隔的值在给定区间。(返回给定间距内返回均匀间隔的值)

  

值半开区间内产生(启动、停止)(换句话说,区间包括启动但不包括停止)。整数参数的函数等价于Python的内置函数,但返回一个ndarray而不是一个列表。(值的范围在半开放的间隔(开始,dtop)内,也就是包括开始起始值,不包括停止结束值;若参数均为整数,与python中范围的函数等价,但是它返回的是数组而非列表)使用非整数阶跃时,如0.1,结果往往会不一致。最好对这些情况下使用linspace。(当使用非整数步长时,比如0.1,结果经常不是一致的,在这种情况下,最好使用线性等分向量)。

  

(2)参数说明

  

numpy。范围(启动,停止,[,]dtype=None)

  

开始:数字型,可选参数,间隔的开始值,间隔包括开始值,缺省时的默认值是0;

  

站:数字型,必填参数,间隔的结束值,间隔不包括结束值,除非一些特殊情况,比如步长不是整数,浮点数的四舍五入影响到输出的长度;

  

步骤:数组型,可选参数,间距值,对任何输出,它是相邻两个值之间的差值,[i + 1]——[我],缺省的默认值为1,如果指定间距值,开始值也必须指定。

  

dtype:输出数组的类型,如果没有指定,从输入参数的类型推断输出结果的数据类型(即与输入参数的类型保持一致)。

  

返回值:等间距的数组,对浮点型参数,结果的长度为装天花板((即停)/步骤),因浮点溢出,这可能导致最后一个元素大于结束值。

  

<强> 4,简单的示例

        在[4]:进口numpy np      在[5]:r=范围(5)      在[6]:ar=np.arange (5)      在[7]:r   [7]:范围(0,5)      在[8]:基于“增大化现实”技术   [8]:数组([0,1,2,3,4))      在[9]:r2=列表(范围(2)1,19日)      在[10]:r2   [10]:[1、3、5、7、9、11、13、15、17)   之前               在[11]:ar3=np。不等(9.0,0.7)      在[12]:ar3   [12]:   数组([1。,1.7,2.4,3.1,3.8,4.5,5.2,5.9,6.6,7.3,8。,   8.7])      在[13]:ar3.dtype   [13]:dtype (“float64”)      在[14]:ar3 (3: 8)   [14]:数组([3.1,3.8,4.5,5.2,5.9])         

<强> 5,python 2. x版本中xrange的说明

  

在python2。x版本中,对于非常长的范围,建议使用xrange,其参数与范围一样,但不会预先产生所有的值,而是返回一个用于逐个产生整数的迭代器。在python3中,范围始终返回迭代器,因而没必要再使用xrange这个函数了。   

     

浅谈Python中范围与Numpy中不等的比较