python 中的range,numpy arange和range
本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明。
1. range与arange的比较
(1)相同点: a,可选参数,默认值相同;b、结果都包含起始值,不包含结束值;c、range参数为整数,相当于range函数;d .具有索引检索和元素切割操作。
(2)不同点:A、range函数的参数只有整数,range的参数是包含整数和浮点数的数值类型;b、输出数据类型不同,range的输出是列表,range的结果是数组;c,range的最后一个元素不超过stop,但是arange的最后一个元素可能大于stop的值。
2. python中的范围range
(1)正式文件范围的定义是rangetyperedelegate sanimmutablesequencefumbersandiscomonlyusedfoopingassificationnumberofintertimes。
对于步长为正数,范围R的值由公式R[I]=开始步骤*i确定,限制为I=0,http://www。Sina.com/;
对于r[i] stop,范围R的值也由表达式R[I]=开始步骤*i确定,但有I=0的限制。Sina.com/;
2)参数描述
范围(开始、停止[)、步长])
Start:如果默认值为0,则表示序列的起始值;
步长为负数:序列的结束值;
r[i] stop:序列的步长。默认值为1。
stop
3)范围的其他说明。
step
b,范围由collections.abc.Sequence继承,包括例如内容range中所有的参数必须为整数,必须为整数!等。
A、range相比常规list或tuple的优势在于,不管range代表的范围有多大,它实际上只存储范围的开始、结束和步长值,它占用相同且很小的内存空间;
(1)正式文件中的定义(returnEvenlyspacedValues withinagiveInterval。)(返回指定区间内相等区间的值))))。
钢笔无,无衬线;背景色:rgb(255,255,255);值在半开区间[开始,停止]内生成(换句话说,该区间包括开始但不包括停止)。对于整数参数,该函数等效于Python内置的rangefunction,但返回的是ndarray而不是list。(值的范围在半开放的间隔[start, dtop)内,也就是包括start起始值,不包括stop结束值;若参数均为整数,与python中的range函数等价,但是它返回的是数组而非列表)使用非整数步长(如0.1)时,结果通常不一致。最好是在太空中使用的情况下。(当使用非整数步长时,比如0.1,结果经常不是一致的,这种情况下,最好用直线平分向量)。
(2)参数描述
numpy . range([开始,]停止,[步进,]dtype=无)
start:数值型,可选参数,区间的起始值,间隔包括开始值,默认值为0;
stop:数字型,必选参数,区间结束值,间隔不包括结束值,除非一些特殊情况,比如步长不是整数,浮点数的四舍五入影响到输出的长度;
step:数组类型,可选参数,间距值。对于任何输出,它是两个相邻值的差,out[i 1]-out[i]。默认值为1。如果指定了间距值,还必须指定起始值。
dtype:输出数组的类型。如果未指定,输出结果的数据类型将从输入参数的类型中推断出来(即与输入参数的类型一致)。
返回值:等间距的数组,对浮点型参数,结果的长度为 ceil((stop-start)/step),因浮点溢出,这可能导致最后一个元素大于结束值。
4、简单的示例
In[4]:import numpy as npIn[5]:r=range(5)In[6]:ar=NP . arange(5)In[7]:rOut[7]:range(0,5)In [8]: arOut[8]: array([0,1,2,3,4])In [9]: r2=list(range(1,19,2))In[10]:r2Out[10]:In[1,3,5,7,9,11,13,15,17], 1.7, 2.4, 3.1, 3.8, 4.5, 5.2, 5.9, 6.6, 7.3, 8.8.7])in[13]:ar3 . dtype out[13]:dtype( float 64 )in[14]:ar3[3:8]out[14]:array([3.1,3.8,4.5,5.2,5.9])
在python 2 . x 2 . x版本中,对于非常长的范围,建议使用xrange,其参数与range相同,但不是预先生成所有值,而是返回一个迭代器,用于逐个生成整数。在python3中,range总是返回迭代器,所以不需要使用xrange函数。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。